Skip to content

Commit 60159b2

Browse files
committed
Fix jsontests.py interaction with module-level SkipTest
1 parent 78c0f7b commit 60159b2

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

extra_tests/jsontests.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,21 @@
33
from test.libregrtest.runtest import findtests
44
import os
55

6-
testnames = ('test.' + name for name in findtests())
76

8-
suite = unittest.defaultTestLoader.loadTestsFromNames(testnames)
7+
def loadTestsOrSkip(loader, name):
8+
try:
9+
return loader.loadTestsFromName(name)
10+
except unittest.SkipTest as exc:
11+
# from _make_skipped_test from unittest/loader.py
12+
@unittest.skip(str(exc))
13+
def testSkipped(self):
14+
pass
15+
attrs = {name: testSkipped}
16+
TestClass = type("ModuleSkipped", (unittest.TestCase,), attrs)
17+
return loader.suiteClass((TestClass(name),))
18+
19+
loader = unittest.defaultTestLoader
20+
suite = loader.suiteClass([loadTestsOrSkip(loader, 'test.' + name) for name in findtests()])
921

1022
resultsfile = os.path.join(os.path.dirname(__file__), "cpython_tests_results.json")
1123
if os.path.exists(resultsfile):

0 commit comments

Comments
 (0)