Antoine Pitrou | 7f1e174 | 2011-02-25 14:19:48 +0000 | [diff] [blame] | 1 | @echo off |
| 2 | rem Run Tests. Run the regression test suite. |
| 3 | rem Usage: rt [-d] [-O] [-q] regrtest_args |
| 4 | rem -d Run Debug build (python_d.exe). Else release build. |
| 5 | rem -O Run python.exe or python_d.exe (see -d) with -O. |
| 6 | rem -q "quick" -- normally the tests are run twice, the first time |
| 7 | rem after deleting all the .py[co] files reachable from Lib/. |
| 8 | rem -q runs the tests just once, and without deleting .py[co] files. |
| 9 | rem All leading instances of these switches are shifted off, and |
| 10 | rem whatever remains is passed to regrtest.py. For example, |
| 11 | rem rt -O -d -x test_thread |
| 12 | rem runs |
| 13 | rem python_d -O ../lib/test/regrtest.py -x test_thread |
| 14 | rem twice, and |
| 15 | rem rt -q -g test_binascii |
| 16 | rem runs |
| 17 | rem python_d ../lib/test/regrtest.py -g test_binascii |
| 18 | rem to generate the expected-output file for binascii quickly. |
| 19 | rem |
| 20 | rem Confusing: if you want to pass a comma-separated list, like |
| 21 | rem -u network,largefile |
| 22 | rem then you have to quote it on the rt line, like |
| 23 | rem rt -u "network,largefile" |
| 24 | |
| 25 | setlocal |
| 26 | |
| 27 | set exe=python |
| 28 | set qmode= |
| 29 | set dashO= |
| 30 | PATH %PATH%;%~dp0..\..\..\tcltk\bin |
| 31 | |
| 32 | :CheckOpts |
| 33 | if "%1"=="-O" (set dashO=-O) & shift & goto CheckOpts |
| 34 | if "%1"=="-q" (set qmode=yes) & shift & goto CheckOpts |
| 35 | if "%1"=="-d" (set exe=python_d) & shift & goto CheckOpts |
| 36 | |
| 37 | set cmd=%exe% %dashO% -E ../../lib/test/regrtest.py %1 %2 %3 %4 %5 %6 %7 %8 %9 |
| 38 | if defined qmode goto Qmode |
| 39 | |
| 40 | echo Deleting .pyc/.pyo files ... |
| 41 | %exe% rmpyc.py |
| 42 | |
| 43 | echo on |
| 44 | %cmd% |
| 45 | @echo off |
| 46 | |
| 47 | echo About to run again without deleting .pyc/.pyo first: |
| 48 | pause |
| 49 | |
| 50 | :Qmode |
| 51 | echo on |
| 52 | %cmd% |