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