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