diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2017-07-20 13:46:32 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-07-20 13:46:32 (GMT) |
commit | 5b392bbaeb9d9b1db961ecfc7315d8c8662c27f6 (patch) | |
tree | fbc9cd59b265cb5ef5f341955e476ce2908956c0 /Lib | |
parent | 5bffcf38aae9b2f42f4e39ff5be8c406bbdf6684 (diff) | |
download | cpython-5b392bbaeb9d9b1db961ecfc7315d8c8662c27f6.zip cpython-5b392bbaeb9d9b1db961ecfc7315d8c8662c27f6.tar.gz cpython-5b392bbaeb9d9b1db961ecfc7315d8c8662c27f6.tar.bz2 |
bpo-30822: Exclude tzdata from regrtest --all (#2775)
When running the test suite using --use=all / -u all, exclude tzdata
since it makes test_datetime too slow (15-20 min on some buildbots)
which then times out on some buildbots.
-u tzdata must now be enabled explicitly, -u tzdata or -u all,tzdata,
to run all test_datetime tests.
Fix also regrtest command line parser to allow passing -u
extralargefile to run test_zipfile64.
Travis CI: remove -tzdata. Replace -u all,-tzdata,-cpu with -u all,-cpu since tzdata is now excluded from -u all.
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/test/libregrtest/__init__.py | 2 | ||||
-rw-r--r-- | Lib/test/libregrtest/cmdline.py | 15 | ||||
-rw-r--r-- | Lib/test/test_regrtest.py | 13 |
3 files changed, 25 insertions, 5 deletions
diff --git a/Lib/test/libregrtest/__init__.py b/Lib/test/libregrtest/__init__.py index 7ba0e6e..3427b51 100644 --- a/Lib/test/libregrtest/__init__.py +++ b/Lib/test/libregrtest/__init__.py @@ -1,5 +1,5 @@ # We import importlib *ASAP* in order to test #15386 import importlib -from test.libregrtest.cmdline import _parse_args, RESOURCE_NAMES +from test.libregrtest.cmdline import _parse_args, RESOURCE_NAMES, ALL_RESOURCES from test.libregrtest.main import main diff --git a/Lib/test/libregrtest/cmdline.py b/Lib/test/libregrtest/cmdline.py index 2315cd5..4999fa7 100644 --- a/Lib/test/libregrtest/cmdline.py +++ b/Lib/test/libregrtest/cmdline.py @@ -127,8 +127,17 @@ Pattern examples: """ -RESOURCE_NAMES = ('audio', 'curses', 'largefile', 'network', - 'decimal', 'cpu', 'subprocess', 'urlfetch', 'gui', 'tzdata') +ALL_RESOURCES = ('audio', 'curses', 'largefile', 'network', + 'decimal', 'cpu', 'subprocess', 'urlfetch', 'gui') + +# Other resources excluded from --use=all: +# +# - extralagefile (ex: test_zipfile64): really too slow to be enabled +# "by default" +# - tzdata: while needed to validate fully test_datetime, it makes +# test_datetime too slow (15-20 min on some buildbots) and so is disabled by +# default (see bpo-30822). +RESOURCE_NAMES = ALL_RESOURCES + ('extralargefile', 'tzdata') class _ArgParser(argparse.ArgumentParser): @@ -344,7 +353,7 @@ def _parse_args(args, **kwargs): for a in ns.use: for r in a: if r == 'all': - ns.use_resources[:] = RESOURCE_NAMES + ns.use_resources[:] = ALL_RESOURCES continue if r == 'none': del ns.use_resources[:] diff --git a/Lib/test/test_regrtest.py b/Lib/test/test_regrtest.py index a544f88..f63ed64 100644 --- a/Lib/test/test_regrtest.py +++ b/Lib/test/test_regrtest.py @@ -191,15 +191,26 @@ class ParseArgsTestCase(unittest.TestCase): with self.subTest(opt=opt): ns = libregrtest._parse_args([opt, 'gui,network']) self.assertEqual(ns.use_resources, ['gui', 'network']) + ns = libregrtest._parse_args([opt, 'gui,none,network']) self.assertEqual(ns.use_resources, ['network']) - expected = list(libregrtest.RESOURCE_NAMES) + + expected = list(libregrtest.ALL_RESOURCES) expected.remove('gui') ns = libregrtest._parse_args([opt, 'all,-gui']) self.assertEqual(ns.use_resources, expected) self.checkError([opt], 'expected one argument') self.checkError([opt, 'foo'], 'invalid resource') + # all + a resource not part of "all" + ns = libregrtest._parse_args([opt, 'all,tzdata']) + self.assertEqual(ns.use_resources, + list(libregrtest.ALL_RESOURCES) + ['tzdata']) + + # test another resource which is not part of "all" + ns = libregrtest._parse_args([opt, 'extralargefile']) + self.assertEqual(ns.use_resources, ['extralargefile']) + def test_memlimit(self): for opt in '-M', '--memlimit': with self.subTest(opt=opt): |