diff options
author | Martyn Capewell <martyn.capewell@arm.com> | 2019-01-30 15:00:58 +0000 |
---|---|---|
committer | Martyn Capewell <martyn.capewell@arm.com> | 2019-01-31 10:56:07 +0000 |
commit | e24a6f4287f8c8975f0d2e0a3cea64d6c26ef7e7 (patch) | |
tree | bb9cd106eff63b60af02e3380b6de92521f7fd9e /test | |
parent | 37abcf22c9083f0f8201455f94c17a8e6c2db908 (diff) |
Split more tests to speed up test.py
Split a fuzzing and literal pool test to reduce per-thread test time. After this
change, no test instance takes longer than six seconds (on my desktop). Each
test configuration now takes approximately 30 seconds.
Change-Id: Ifbc69aa0596c7b62f875349e7d59a39861c871ee
Diffstat (limited to 'test')
-rw-r--r-- | test/aarch32/test-assembler-aarch32.cc | 22 | ||||
-rw-r--r-- | test/aarch64/test-assembler-aarch64.cc | 5 |
2 files changed, 24 insertions, 3 deletions
diff --git a/test/aarch32/test-assembler-aarch32.cc b/test/aarch32/test-assembler-aarch32.cc index 83134e61..0bb4bd69 100644 --- a/test/aarch32/test-assembler-aarch32.cc +++ b/test/aarch32/test-assembler-aarch32.cc @@ -3623,7 +3623,9 @@ TEST_T32(near_branch_fuzz) { } -TEST_T32(near_branch_and_literal_fuzz) { +static void NearBranchAndLiteralFuzzHelper(InstructionSet isa, + int shard_count, + int shard_offset) { SETUP(); START(); @@ -3641,6 +3643,7 @@ TEST_T32(near_branch_and_literal_fuzz) { // sequence. const int iterations = 128; const int n_cases = 20; + VIXL_CHECK((iterations % shard_count) == 0); int loop_count = 0; __ Mov(r1, 0); @@ -3670,7 +3673,7 @@ TEST_T32(near_branch_and_literal_fuzz) { for (uint32_t window = 5; window < 14; window++) { for (uint32_t ratio = 0; ratio < static_cast<uint32_t>(n_cases - window); ratio++) { - for (int iter = 0; iter < iterations; iter++) { + for (int iter = shard_offset; iter < iterations; iter += shard_count) { Label fail; Label end; @@ -3889,6 +3892,21 @@ TEST_T32(near_branch_and_literal_fuzz) { ASSERT_EQUAL_32(42, r4); } +TEST_T32(near_branch_and_literal_fuzz_0) { + NearBranchAndLiteralFuzzHelper(isa, 4, 0); +} + +TEST_T32(near_branch_and_literal_fuzz_1) { + NearBranchAndLiteralFuzzHelper(isa, 4, 1); +} + +TEST_T32(near_branch_and_literal_fuzz_2) { + NearBranchAndLiteralFuzzHelper(isa, 4, 2); +} + +TEST_T32(near_branch_and_literal_fuzz_3) { + NearBranchAndLiteralFuzzHelper(isa, 4, 3); +} #ifdef VIXL_INCLUDE_TARGET_T32 TEST_NOASM(code_buffer_precise_growth) { diff --git a/test/aarch64/test-assembler-aarch64.cc b/test/aarch64/test-assembler-aarch64.cc index 45556081..1fdad525 100644 --- a/test/aarch64/test-assembler-aarch64.cc +++ b/test/aarch64/test-assembler-aarch64.cc @@ -1872,8 +1872,11 @@ static void TbzRangePoolLimitHelper(TestBranchSignature test_branch) { } } -TEST(test_branch_limits_literal_pool_size) { +TEST(test_branch_limits_literal_pool_size_tbz) { TbzRangePoolLimitHelper(&MacroAssembler::Tbz); +} + +TEST(test_branch_limits_literal_pool_size_tbnz) { TbzRangePoolLimitHelper(&MacroAssembler::Tbnz); } |