2 rem Run Tests. Run the regression test suite.
3 rem Usage: rt [-d] [-O] [-q] [-x64] 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 -x64 Run the 64-bit build of python (or python_d if -d was specified)
10 rem from the 'amd64' dir instead of the 32-bit build in this dir.
11 rem All leading instances of these switches are shifted off, and
12 rem whatever remains is passed to regrtest.py. For example,
13 rem rt -O -d -x test_thread
15 rem python_d -O ../lib/test/regrtest.py -x test_thread
17 rem rt -q -g test_binascii
19 rem python_d ../lib/test/regrtest.py -g test_binascii
20 rem to generate the expected-output file for binascii quickly.
22 rem Confusing: if you want to pass a comma-separated list, like
23 rem -u network,largefile
24 rem then you have to quote it on the rt line, like
25 rem rt -u "network,largefile"
36 if "%1"=="-O" (set dashO=-O) & shift & goto CheckOpts
37 if "%1"=="-q" (set qmode=yes) & shift & goto CheckOpts
38 if "%1"=="-d" (set suffix=_d) & shift & goto CheckOpts
39 if "%1"=="-x64" (set prefix=amd64) & (set tcltk=tcltk64) & shift & goto CheckOpts
41 PATH %PATH%;..\..\%tcltk%\bin
42 set exe=%prefix%\python%suffix%
43 set cmd=%exe% %dashO% -E ../lib/test/regrtest.py %1 %2 %3 %4 %5 %6 %7 %8 %9
44 if defined qmode goto Qmode
46 echo Deleting .pyc/.pyo files ...
53 echo About to run again without deleting .pyc/.pyo first: