From: David Green Date: Wed, 27 Jul 2022 16:55:11 +0000 (+0100) Subject: [Lit] Sort previously failed tests early X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7ce39d80a86a4afbcf1be932b6c98b348b5b6549;p=platform%2Fupstream%2Fllvm.git [Lit] Sort previously failed tests early D98179 added a mechanism to sort tests by test time to run slow tests early, increasing potential parallelism. It also added a feature where negative tests would be marked as negative, allowing subsequent test runs to run them earlier. Unfortunately it never actually stored the negative time, even if all the other code seemed to be inplace to sort them early. Luckily the fix seems simple. Differential Revision: https://reviews.llvm.org/D130570 --- diff --git a/llvm/utils/lit/lit/TestTimes.py b/llvm/utils/lit/lit/TestTimes.py index 621343f..8379cf5 100644 --- a/llvm/utils/lit/lit/TestTimes.py +++ b/llvm/utils/lit/lit/TestTimes.py @@ -28,7 +28,7 @@ def record_test_times(tests, lit_config): # used as an actual path to a filesystem API, therefore we use '/' as # the canonical separator so that Unix and Windows machines can share # timing data. - times_by_suite[t.suite.exec_root]['/'.join(t.path_in_suite)] = t.result.elapsed + times_by_suite[t.suite.exec_root]['/'.join(t.path_in_suite)] = time for s, value in times_by_suite.items(): try: diff --git a/llvm/utils/lit/tests/Inputs/reorder/.lit_test_times.txt b/llvm/utils/lit/tests/Inputs/reorder/.lit_test_times.txt index 73d55de..227a438 100644 --- a/llvm/utils/lit/tests/Inputs/reorder/.lit_test_times.txt +++ b/llvm/utils/lit/tests/Inputs/reorder/.lit_test_times.txt @@ -1,4 +1,5 @@ 42.0 not-executed.txt 3.0 subdir/ccc.txt 2.0 bbb.txt +-0.2 fff.txt 0.1 aaa.txt diff --git a/llvm/utils/lit/tests/Inputs/reorder/fff.txt b/llvm/utils/lit/tests/Inputs/reorder/fff.txt new file mode 100644 index 0000000..49932c3 --- /dev/null +++ b/llvm/utils/lit/tests/Inputs/reorder/fff.txt @@ -0,0 +1 @@ +# RUN: false diff --git a/llvm/utils/lit/tests/reorder.py b/llvm/utils/lit/tests/reorder.py index f911de2..b4d7beb 100644 --- a/llvm/utils/lit/tests/reorder.py +++ b/llvm/utils/lit/tests/reorder.py @@ -1,7 +1,7 @@ ## Check that we can reorder test runs. # RUN: cp %{inputs}/reorder/.lit_test_times.txt %{inputs}/reorder/.lit_test_times.txt.orig -# RUN: %{lit-no-order-opt} %{inputs}/reorder > %t.out +# RUN: not %{lit-no-order-opt} %{inputs}/reorder > %t.out # RUN: cp %{inputs}/reorder/.lit_test_times.txt %{inputs}/reorder/.lit_test_times.txt.new # RUN: cp %{inputs}/reorder/.lit_test_times.txt.orig %{inputs}/reorder/.lit_test_times.txt # RUN: not diff %{inputs}/reorder/.lit_test_times.txt.new %{inputs}/reorder/.lit_test_times.txt.orig @@ -12,10 +12,12 @@ # TIMES: not-executed.txt # TIMES-NEXT: subdir/ccc.txt # TIMES-NEXT: bbb.txt +# TIMES-NEXT: -{{.*}} fff.txt # TIMES-NEXT: aaa.txt # TIMES-NEXT: new-test.txt -# CHECK: -- Testing: 4 tests, 1 workers -- +# CHECK: -- Testing: 5 tests, 1 workers -- +# CHECK-NEXT: FAIL: reorder :: fff.txt # CHECK-NEXT: PASS: reorder :: subdir/ccc.txt # CHECK-NEXT: PASS: reorder :: bbb.txt # CHECK-NEXT: PASS: reorder :: aaa.txt