[llvm] [unittest] Refactoring the gtest sharding option. (PR #69537)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Oct 18 16:57:35 PDT 2023
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-testing-tools
Author: Haowei (zeroomega)
<details>
<summary>Changes</summary>
This patch addresses the missed review comment from PR #<!-- -->67063. It
renames LIT flag "--disable-gtest-sharding" to "--no-gtest-sharding"
and corrects the code style issue.
---
Full diff: https://github.com/llvm/llvm-project/pull/69537.diff
5 Files Affected:
- (modified) llvm/utils/lit/lit/LitConfig.py (+2-2)
- (modified) llvm/utils/lit/lit/cl_arguments.py (+9-3)
- (modified) llvm/utils/lit/lit/formats/googletest.py (+2-2)
- (modified) llvm/utils/lit/lit/main.py (+1-1)
- (modified) llvm/utils/lit/tests/googletest-no-sharding.py (+1-1)
``````````diff
diff --git a/llvm/utils/lit/lit/LitConfig.py b/llvm/utils/lit/lit/LitConfig.py
index c7703f15f9e3f71..5dc712ae28370cc 100644
--- a/llvm/utils/lit/lit/LitConfig.py
+++ b/llvm/utils/lit/lit/LitConfig.py
@@ -37,7 +37,7 @@ def __init__(
maxIndividualTestTime=0,
parallelism_groups={},
per_test_coverage=False,
- disableGTestSharding=False,
+ gtest_sharding=True,
):
# The name of the test runner.
self.progname = progname
@@ -88,7 +88,7 @@ def __init__(
self.maxIndividualTestTime = maxIndividualTestTime
self.parallelism_groups = parallelism_groups
self.per_test_coverage = per_test_coverage
- self.disableGTestSharding = bool(disableGTestSharding)
+ self.gtest_sharding = bool(gtest_sharding)
@property
def maxIndividualTestTime(self):
diff --git a/llvm/utils/lit/lit/cl_arguments.py b/llvm/utils/lit/lit/cl_arguments.py
index 7f12f833afe5995..ba3706659550b67 100644
--- a/llvm/utils/lit/lit/cl_arguments.py
+++ b/llvm/utils/lit/lit/cl_arguments.py
@@ -119,10 +119,16 @@ def parse_args():
execution_group = parser.add_argument_group("Test Execution")
execution_group.add_argument(
- "--disable-gtest-sharding",
- dest="disableGTestSharding",
- help="Disable sharding for GoogleTest format",
+ "--gtest-sharding",
+ help="Enable sharding for GoogleTest format",
action="store_true",
+ default=True,
+ )
+ execution_group.add_argument(
+ "--no-gtest-sharding",
+ dest="gtest_sharding",
+ help="Disable sharding for GoogleTest format",
+ action="store_false",
)
execution_group.add_argument(
"--path",
diff --git a/llvm/utils/lit/lit/formats/googletest.py b/llvm/utils/lit/lit/formats/googletest.py
index 16f411b25607a99..8037094a910678a 100644
--- a/llvm/utils/lit/lit/formats/googletest.py
+++ b/llvm/utils/lit/lit/formats/googletest.py
@@ -68,7 +68,7 @@ def getTestsInDirectory(self, testSuite, path_in_suite, litConfig, localConfig):
self.seen_executables.add(execpath)
num_tests = self.get_num_tests(execpath, litConfig, localConfig)
if num_tests is not None:
- if not litConfig.disableGTestSharding:
+ if litConfig.gtest_sharding:
# Compute the number of shards.
shard_size = init_shard_size
nshard = int(math.ceil(num_tests / shard_size))
@@ -151,7 +151,7 @@ def execute(self, test, litConfig):
"GTEST_OUTPUT": "json:" + test.gtest_json_file,
"GTEST_SHUFFLE": "1" if use_shuffle else "0",
}
- if not litConfig.disableGTestSharding:
+ if litConfig.gtest_sharding:
testPath, testName = os.path.split(test.getSourcePath())
while not os.path.exists(testPath):
# Handle GTest parameterized and typed tests, whose name includes
diff --git a/llvm/utils/lit/lit/main.py b/llvm/utils/lit/lit/main.py
index 4580dbc96667948..1d0d6bb2682993d 100755
--- a/llvm/utils/lit/lit/main.py
+++ b/llvm/utils/lit/lit/main.py
@@ -41,7 +41,7 @@ def main(builtin_params={}):
params=params,
config_prefix=opts.configPrefix,
per_test_coverage=opts.per_test_coverage,
- disableGTestSharding=opts.disableGTestSharding,
+ gtest_sharding=opts.gtest_sharding,
)
discovered_tests = lit.discovery.find_tests_for_inputs(
diff --git a/llvm/utils/lit/tests/googletest-no-sharding.py b/llvm/utils/lit/tests/googletest-no-sharding.py
index ccf2fe0d9d31d32..bb008effb831533 100644
--- a/llvm/utils/lit/tests/googletest-no-sharding.py
+++ b/llvm/utils/lit/tests/googletest-no-sharding.py
@@ -1,6 +1,6 @@
# Check the various features of the GoogleTest format.
-# RUN: not %{lit} -v --disable-gtest-sharding --order=random %{inputs}/googletest-no-sharding > %t.out
+# RUN: not %{lit} -v --no-gtest-sharding --order=random %{inputs}/googletest-no-sharding > %t.out
# FIXME: Temporarily dump test output so we can debug failing tests on
# buildbots.
# RUN: cat %t.out
``````````
</details>
https://github.com/llvm/llvm-project/pull/69537
More information about the llvm-commits
mailing list