# HG changeset patch # User Augie Fackler # Date 1505769092 14400 # Node ID 1533371769b5ad3de2c7aa1ed08ee7cfb99c0c91 # Parent 68c96a552c84310cba3fb382e39ad11acd870c29 tests: add support for listing tests to run in a file This will make it easier for us to run the tests in the python3 whitelist in buildbot. diff -r 68c96a552c84 -r 1533371769b5 tests/run-tests.py --- a/tests/run-tests.py Mon Sep 18 15:34:50 2017 -0400 +++ b/tests/run-tests.py Mon Sep 18 17:11:32 2017 -0400 @@ -303,6 +303,8 @@ help="skip tests listed in the specified blacklist file") parser.add_option("--whitelist", action="append", help="always run tests listed in the specified whitelist file") + parser.add_option("--test-list", action="append", + help="read tests to run from the specified file") parser.add_option("--changed", type="string", help="run tests that are changed in parent rev or working directory") parser.add_option("-C", "--annotate", action="store_true", @@ -2279,6 +2281,10 @@ # positional arguments are paths to test files to run, so # we make sure they're all bytestrings args = [_bytespath(a) for a in args] + if options.test_list is not None: + for listfile in options.test_list: + with open(listfile, 'rb') as f: + args.extend(t for t in f.read().splitlines() if t) self.options = options self._checktools() diff -r 68c96a552c84 -r 1533371769b5 tests/test-run-tests.t --- a/tests/test-run-tests.t Mon Sep 18 15:34:50 2017 -0400 +++ b/tests/test-run-tests.t Mon Sep 18 17:11:32 2017 -0400 @@ -981,6 +981,19 @@ python hash seed: * (glob) [1] +Ensure that --test-list causes only the tests listed in that file to +be executed. + $ echo test-success.t >> onlytest + $ rt --test-list=onlytest + . + # Ran 1 tests, 0 skipped, 0 failed. + $ echo test-bogus.t >> anothertest + $ rt --test-list=onlytest --test-list=anothertest + s. + Skipped test-bogus.t: Doesn't exist + # Ran 1 tests, 1 skipped, 0 failed. + $ rm onlytest anothertest + test for --json ==================