rt.bat 1.81 KB
Newer Older
Tim Peters's avatar
Tim Peters committed
1 2
@echo off
rem Run Tests.  Run the regression test suite.
Christian Heimes's avatar
Christian Heimes committed
3
rem Usage:  rt [-d] [-O] [-q] [-x64] regrtest_args
Tim Peters's avatar
Tim Peters committed
4 5 6 7 8
rem -d   Run Debug build (python_d.exe).  Else release build.
rem -O   Run python.exe or python_d.exe (see -d) with -O.
rem -q   "quick" -- normally the tests are run twice, the first time
rem      after deleting all the .py[co] files reachable from Lib/.
rem      -q runs the tests just once, and without deleting .py[co] files.
Christian Heimes's avatar
Christian Heimes committed
9 10
rem -x64 Run the 64-bit build of python (or python_d if -d was specified)
rem      from the 'amd64' dir instead of the 32-bit build in this dir.
Tim Peters's avatar
Tim Peters committed
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
rem All leading instances of these switches are shifted off, and
rem whatever remains is passed to regrtest.py.  For example,
rem     rt -O -d -x test_thread
rem runs
rem     python_d -O ../lib/test/regrtest.py -x test_thread
rem twice, and
rem     rt -q -g test_binascii
rem runs
rem     python_d ../lib/test/regrtest.py -g test_binascii
rem to generate the expected-output file for binascii quickly.
rem
rem Confusing:  if you want to pass a comma-separated list, like
rem     -u network,largefile
rem then you have to quote it on the rt line, like
rem     rt -u "network,largefile"

setlocal

Christian Heimes's avatar
Christian Heimes committed
29 30
set prefix=.\
set suffix=
Tim Peters's avatar
Tim Peters committed
31 32
set qmode=
set dashO=
33
set tcltk=tcltk
Tim Peters's avatar
Tim Peters committed
34

35
:CheckOpts
Tim Peters's avatar
Tim Peters committed
36 37
if "%1"=="-O" (set dashO=-O)     & shift & goto CheckOpts
if "%1"=="-q" (set qmode=yes)    & shift & goto CheckOpts
Christian Heimes's avatar
Christian Heimes committed
38 39
if "%1"=="-d" (set suffix=_d)    & shift & goto CheckOpts
if "%1"=="-x64" (set prefix=amd64) & (set tcltk=tcltk64) & shift & goto CheckOpts
Tim Peters's avatar
Tim Peters committed
40

41
PATH %PATH%;%~dp0..\..\%tcltk%\bin
Christian Heimes's avatar
Christian Heimes committed
42
set exe=%prefix%\python%suffix%
43
set cmd=%exe% %dashO% -Wd -E -bb ../lib/test/regrtest.py %1 %2 %3 %4 %5 %6 %7 %8 %9
Tim Peters's avatar
Tim Peters committed
44 45 46 47 48 49 50 51 52 53 54 55
if defined qmode goto Qmode

echo Deleting .pyc/.pyo files ...
%exe% rmpyc.py

echo on
%cmd%
@echo off

echo About to run again without deleting .pyc/.pyo first:
pause

56
:Qmode
Tim Peters's avatar
Tim Peters committed
57 58
echo on
%cmd%