Skip to content

Commit 0f42e93

Browse files
committed
amend! [unittest] Add option to allow disabling sharding in unittest
Use for f-strings for error messages. Use common env key/values.
1 parent d980b45 commit 0f42e93

File tree

2 files changed

+16
-17
lines changed

2 files changed

+16
-17
lines changed

llvm/utils/lit/lit/formats/googletest.py

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,10 @@ def execute(self, test, litConfig):
147147
from lit.cl_arguments import TestOrder
148148

149149
use_shuffle = TestOrder(litConfig.order) == TestOrder.RANDOM
150+
shard_env = {
151+
"GTEST_OUTPUT": "json:" + test.gtest_json_file,
152+
"GTEST_SHUFFLE": "1" if use_shuffle else "0",
153+
}
150154
if not litConfig.disableGTestSharding:
151155
testPath, testName = os.path.split(test.getSourcePath())
152156
while not os.path.exists(testPath):
@@ -157,19 +161,14 @@ def execute(self, test, litConfig):
157161

158162
testName, total_shards = os.path.split(testName)
159163
testName, shard_idx = os.path.split(testName)
160-
shard_env = {
161-
"GTEST_OUTPUT": "json:" + test.gtest_json_file,
162-
"GTEST_SHUFFLE": "1" if use_shuffle else "0",
163-
"GTEST_TOTAL_SHARDS": os.environ.get(
164-
"GTEST_TOTAL_SHARDS", total_shards
165-
),
166-
"GTEST_SHARD_INDEX": os.environ.get("GTEST_SHARD_INDEX", shard_idx),
167-
}
168-
else:
169-
shard_env = {
170-
"GTEST_OUTPUT": "json:" + test.gtest_json_file,
171-
"GTEST_SHUFFLE": "1" if use_shuffle else "0",
172-
}
164+
shard_env.update(
165+
{
166+
"GTEST_TOTAL_SHARDS": os.environ.get(
167+
"GTEST_TOTAL_SHARDS", total_shards
168+
),
169+
"GTEST_SHARD_INDEX": os.environ.get("GTEST_SHARD_INDEX", shard_idx),
170+
}
171+
)
173172
test.config.environment.update(shard_env)
174173

175174
cmd = [testPath]

llvm/utils/lit/tests/Inputs/googletest-no-sharding/DummySubDir/OneTest.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
if len(sys.argv) == 3 and sys.argv[1] == "--gtest_list_tests":
77
if sys.argv[2] != "--gtest_filter=-*DISABLED_*":
8-
raise ValueError("unexpected argument: %s" % (sys.argv[2]))
8+
raise ValueError(f"unexpected argument: {sys.argv[2]}")
99
print(
1010
"""\
1111
FirstTest.
@@ -21,14 +21,14 @@
2121
sys.exit(0)
2222
elif len(sys.argv) != 1:
2323
# sharding and json output are specified using environment variables
24-
raise ValueError("unexpected argument: %r" % (" ".join(sys.argv[1:])))
24+
raise ValueError(f"unexpected argument: {' '.join(sys.argv[1:])!r}")
2525

2626
for e in ["GTEST_OUTPUT"]:
2727
if e not in os.environ:
28-
raise ValueError("missing environment variables: " + e)
28+
raise ValueError(f"missing environment variables: {e}")
2929

3030
if not os.environ["GTEST_OUTPUT"].startswith("json:"):
31-
raise ValueError("must emit json output: " + os.environ["GTEST_OUTPUT"])
31+
raise ValueError(f"must emit json output: {os.environ['GTEST_OUTPUT']}")
3232

3333
output = """\
3434
{

0 commit comments

Comments
 (0)