Mercurial > cpython-lru_cache-weakref
annotate Tools/scripts/run_tests.py @ 74006:88198b93ff2f
Issue #13560: Add PyUnicode_EncodeLocale()
* Use PyUnicode_EncodeLocale() in time.strftime() if wcsftime() is not
available
* Document my last changes in Misc/NEWS
| author | Victor Stinner <victor.stinner@haypocalc.com> |
|---|---|
| date | Sat, 17 Dec 2011 04:13:41 +0100 |
| parents | 7fabd75a6ae4 |
| children | ed76dc34b39d |
| 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): |
|
72564
7fabd75a6ae4
Backout of changeset 228fd2bd83a5 by Nadeem Vawda in branch 'default':
Antoine Pitrou <solipsis@pitrou.net>
parents:
72018
diff
changeset
|
40 args.extend(['-u', 'all,-largefile,-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:]) |
