• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1@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%;..\..\..\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 -tt ../../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%
53