Mercurial > cpython-lru_cache-weakref
annotate Tools/scripts/run_tests.py @ 72181:c1949bde461e
Minor improvement to extensions in setup.cfg: check parent package
| author | Éric Araujo <merwok@netwok.org> |
|---|---|
| date | Thu, 01 Sep 2011 07:01:13 +0200 |
| parents | 228fd2bd83a5 |
| children | 7fabd75a6ae4 |
| rev | line source |
|---|---|
|
71682
c68a80779434
Issue #11651: Move options for running tests into a Python script.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
diff
changeset
|
1 """Run Python's test suite in a fast, rigorous way. |
|
c68a80779434
Issue #11651: Move options for running tests into a Python script.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
diff
changeset
|
2 |
|
71687
0b52b6f1bfab
Clean up description of Tools/scripts/run_tests.py.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
71682
diff
changeset
|
3 The defaults are meant to be reasonably thorough, while skipping certain |
|
0b52b6f1bfab
Clean up description of Tools/scripts/run_tests.py.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
71682
diff
changeset
|
4 tests that can be time-consuming or resource-intensive (e.g. largefile), |
|
0b52b6f1bfab
Clean up description of Tools/scripts/run_tests.py.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
71682
diff
changeset
|
5 or distracting (e.g. audio and gui). These defaults can be overridden by |
|
0b52b6f1bfab
Clean up description of Tools/scripts/run_tests.py.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
71682
diff
changeset
|
6 simply passing a -u option to this script. |
|
71682
c68a80779434
Issue #11651: Move options for running tests into a Python script.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
diff
changeset
|
7 |
|
c68a80779434
Issue #11651: Move options for running tests into a Python script.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
diff
changeset
|
8 """ |
|
c68a80779434
Issue #11651: Move options for running tests into a Python script.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
diff
changeset
|
9 |
|
c68a80779434
Issue #11651: Move options for running tests into a Python script.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
diff
changeset
|
10 import os |
|
c68a80779434
Issue #11651: Move options for running tests into a Python script.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
diff
changeset
|
11 import sys |
|
c68a80779434
Issue #11651: Move options for running tests into a Python script.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
diff
changeset
|
12 import test.support |
|
c68a80779434
Issue #11651: Move options for running tests into a Python script.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
diff
changeset
|
13 |
|
c68a80779434
Issue #11651: Move options for running tests into a Python script.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
diff
changeset
|
14 |
|
c68a80779434
Issue #11651: Move options for running tests into a Python script.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
diff
changeset
|
15 def is_multiprocess_flag(arg): |
|
c68a80779434
Issue #11651: Move options for running tests into a Python script.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
diff
changeset
|
16 return arg.startswith('-j') or arg.startswith('--multiprocess') |
|
c68a80779434
Issue #11651: Move options for running tests into a Python script.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
diff
changeset
|
17 |
|
c68a80779434
Issue #11651: Move options for running tests into a Python script.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
diff
changeset
|
18 |
|
c68a80779434
Issue #11651: Move options for running tests into a Python script.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
diff
changeset
|
19 def is_resource_use_flag(arg): |
|
c68a80779434
Issue #11651: Move options for running tests into a Python script.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
diff
changeset
|
20 return arg.startswith('-u') or arg.startswith('--use') |
|
c68a80779434
Issue #11651: Move options for running tests into a Python script.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
diff
changeset
|
21 |
|
c68a80779434
Issue #11651: Move options for running tests into a Python script.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
diff
changeset
|
22 |
|
c68a80779434
Issue #11651: Move options for running tests into a Python script.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
diff
changeset
|
23 def main(regrtest_args): |
|
c68a80779434
Issue #11651: Move options for running tests into a Python script.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
diff
changeset
|
24 args = [sys.executable, |
|
c68a80779434
Issue #11651: Move options for running tests into a Python script.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
diff
changeset
|
25 '-W', 'default', # Warnings set to 'default' |
|
c68a80779434
Issue #11651: Move options for running tests into a Python script.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
diff
changeset
|
26 '-bb', # Warnings about bytes/bytearray |
|
c68a80779434
Issue #11651: Move options for running tests into a Python script.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
diff
changeset
|
27 '-E', # Ignore environment variables |
|
c68a80779434
Issue #11651: Move options for running tests into a Python script.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
diff
changeset
|
28 ] |
|
c68a80779434
Issue #11651: Move options for running tests into a Python script.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
diff
changeset
|
29 # Allow user-specified interpreter options to override our defaults. |
|
c68a80779434
Issue #11651: Move options for running tests into a Python script.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
diff
changeset
|
30 args.extend(test.support.args_from_interpreter_flags()) |
|
c68a80779434
Issue #11651: Move options for running tests into a Python script.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
diff
changeset
|
31 args.extend(['-m', 'test', # Run the test suite |
|
c68a80779434
Issue #11651: Move options for running tests into a Python script.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
diff
changeset
|
32 '-r', # Randomize test order |
|
c68a80779434
Issue #11651: Move options for running tests into a Python script.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
diff
changeset
|
33 '-w', # Re-run failed tests in verbose mode |
|
c68a80779434
Issue #11651: Move options for running tests into a Python script.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
diff
changeset
|
34 ]) |
|
71881
03d439f4ec5c
Use -n for tests under Windows
Antoine Pitrou <solipsis@pitrou.net>
parents:
71687
diff
changeset
|
35 if sys.platform == 'win32': |
|
03d439f4ec5c
Use -n for tests under Windows
Antoine Pitrou <solipsis@pitrou.net>
parents:
71687
diff
changeset
|
36 args.append('-n') # Silence alerts under Windows |
|
71682
c68a80779434
Issue #11651: Move options for running tests into a Python script.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
diff
changeset
|
37 if not any(is_multiprocess_flag(arg) for arg in regrtest_args): |
|
c68a80779434
Issue #11651: Move options for running tests into a Python script.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
diff
changeset
|
38 args.extend(['-j', '0']) # Use all CPU cores |
|
c68a80779434
Issue #11651: Move options for running tests into a Python script.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
diff
changeset
|
39 if not any(is_resource_use_flag(arg) for arg in regrtest_args): |
|
72018
228fd2bd83a5
Issue #12804: Prevent "make test" from using network resources.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
71881
diff
changeset
|
40 args.extend(['-u', 'all,-largefile,-network,-urlfetch,-audio,-gui']) |
|
71682
c68a80779434
Issue #11651: Move options for running tests into a Python script.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
diff
changeset
|
41 args.extend(regrtest_args) |
|
c68a80779434
Issue #11651: Move options for running tests into a Python script.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
diff
changeset
|
42 print(' '.join(args)) |
|
c68a80779434
Issue #11651: Move options for running tests into a Python script.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
diff
changeset
|
43 os.execv(sys.executable, args) |
|
c68a80779434
Issue #11651: Move options for running tests into a Python script.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
diff
changeset
|
44 |
|
c68a80779434
Issue #11651: Move options for running tests into a Python script.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
diff
changeset
|
45 |
|
c68a80779434
Issue #11651: Move options for running tests into a Python script.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
diff
changeset
|
46 if __name__ == '__main__': |
|
c68a80779434
Issue #11651: Move options for running tests into a Python script.
Nadeem Vawda <nadeem.vawda@gmail.com>
parents:
diff
changeset
|
47 main(sys.argv[1:]) |
