Change to flush and close logic to fix #1760556.
[python.git] / PCbuild / rt.bat
blob8e386c5856694dba0fc9c043cc562b603c5450ad
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"
25 setlocal
27 set exe=python
28 set qmode=
29 set dashO=
30 PATH %PATH%;..\..\tcltk\bin
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
37 set cmd=%exe% %dashO% -E -tt ../lib/test/regrtest.py %1 %2 %3 %4 %5 %6 %7 %8 %9
38 if defined qmode goto Qmode
40 echo Deleting .pyc/.pyo files ...
41 %exe% rmpyc.py
43 echo on
44 %cmd%
45 @echo off
47 echo About to run again without deleting .pyc/.pyo first:
48 pause
50 :Qmode
51 echo on
52 %cmd%