Skip to content

Commit c50c33d

Browse files
authored
[test] Ensure setUpClass is called in the parallel test runner. NFC (#23681)
1 parent e782565 commit c50c33d

File tree

4 files changed

+21
-1
lines changed

4 files changed

+21
-1
lines changed

Diff for: test/common.py

-1
Original file line numberDiff line numberDiff line change
@@ -1167,7 +1167,6 @@ def set_temp_dir(self, temp_dir):
11671167
@classmethod
11681168
def setUpClass(cls):
11691169
super().setUpClass()
1170-
print('(checking sanity from test runner)') # do this after we set env stuff
11711170
shared.check_sanity(force=True)
11721171

11731172
def setUp(self):

Diff for: test/parallel_testsuite.py

+4
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717

1818
NUM_CORES = None
19+
seen_class = set()
1920

2021

2122
def run_test(test):
@@ -24,6 +25,9 @@ def run_test(test):
2425
temp_dir = tempfile.mkdtemp(prefix='emtest_')
2526
test.set_temp_dir(temp_dir)
2627
try:
28+
if test.__class__ not in seen_class:
29+
seen_class.add(test.__class__)
30+
test.__class__.setUpClass()
2731
test(result)
2832
except unittest.SkipTest as e:
2933
result.addSkip(test, e)

Diff for: test/test_core.py

+7
Original file line numberDiff line numberDiff line change
@@ -317,6 +317,12 @@ def is_sanitizing(args):
317317

318318

319319
class TestCoreBase(RunnerCore):
320+
@classmethod
321+
def setUpClass(cls):
322+
"""setUpClass included purely so we can verify that is run."""
323+
super().setUpClass()
324+
cls.doneSetup = True
325+
320326
# A simple check whether the compiler arguments cause optimization.
321327
def is_optimizing(self):
322328
return '-O' in str(self.emcc_args) and '-O0' not in self.emcc_args
@@ -9551,6 +9557,7 @@ def tearDown(self):
95519557
TT.tearDown = tearDown
95529558

95539559
def setUp(self):
9560+
assert self.__class__.doneSetup
95549561
super(TT, self).setUp()
95559562
for k, v in self.env.items():
95569563
assert k not in os.environ, k + ' should not be in environment'

Diff for: test/test_other.py

+10
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,16 @@ def deminify_syms(names, minification_map):
241241

242242

243243
class other(RunnerCore):
244+
@classmethod
245+
def setUpClass(cls):
246+
"""setUpClass included purely so we can verify that is run."""
247+
super().setUpClass()
248+
cls.doneSetup = True
249+
250+
def setUp(self):
251+
assert self.__class__.doneSetup
252+
super().setUp()
253+
244254
def assertIsObjectFile(self, filename):
245255
self.assertTrue(building.is_wasm(filename))
246256

0 commit comments

Comments
 (0)