summaryrefslogtreecommitdiffstats
path: root/PCbuild8/rt.bat
blob: 8927879d5ee7243fef51b7c64f3d51b0cb6e64d7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
@echo off
rem Run Tests.  Run the regression test suite.

rem Usage:  rt [-d] [-O] [-q] regrtest_args

rem -d   Run Debug build (python_d.exe).  Else release build.

rem -pgo Run PGO build, e.g. for instrumentation

rem -x64 Run the x64 version, otherwise win32

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.

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

set platf=win32
set exe=python.exe
set qmode=
set dashO=
set conf=Release
PATH %PATH%;..\..\tcltk\bin

:CheckOpts
if "%1"=="-O" (set dashO=-O)     & shift & goto CheckOpts

if "%1"=="-q" (set qmode=yes)    & shift & goto CheckOpts
if "%1"=="-d" (set exe=python_d.exe) & (set conf=Debug) & shift & goto CheckOpts

if "%1"=="-x64" (set platf=x64) & shift & goto CheckOpts
if "%1"=="-pgo" (set conf=PGO) & shift & goto CheckOpts



set exe=%platf%%conf%\%exe%

set cmd=%exe% %dashO% -E -tt ../lib/test/regrtest.py %1 %2 %3 %4 %5 %6 %7 %8 %9

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



:Qmode

echo on

%cmd%