1@echo off 2rem Run Tests. Run the regression test suite. 3rem Usage: rt [-d] [-O] [-q] [-x64] 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 .pyc files reachable from Lib/. 8rem -q runs the tests just once, and without deleting .pyc files. 9rem -x64 Run the 64-bit build of python (or python_d if -d was specified) 10rem When omitted, uses %PREFIX% if set or the 32-bit build 11rem All leading instances of these switches are shifted off, and 12rem whatever remains (up to 9 arguments) is passed to regrtest.py. 13rem For example, 14rem rt -O -d -x test_thread 15rem runs 16rem python_d -O ../lib/test/regrtest.py -x test_thread 17rem twice, and 18rem rt -q -g test_binascii 19rem runs 20rem python_d ../lib/test/regrtest.py -g test_binascii 21rem to generate the expected-output file for binascii quickly. 22rem 23rem Confusing: if you want to pass a comma-separated list, like 24rem -u network,largefile 25rem then you have to quote it on the rt line, like 26rem rt -u "network,largefile" 27 28setlocal 29 30set pcbuild=%~dp0 31set suffix= 32set qmode= 33set dashO= 34set regrtestargs= 35set exe= 36 37:CheckOpts 38if "%1"=="-O" (set dashO=-O) & shift & goto CheckOpts 39if "%1"=="-q" (set qmode=yes) & shift & goto CheckOpts 40if "%1"=="-d" (set suffix=_d) & shift & goto CheckOpts 41if "%1"=="-x64" (set prefix=%pcbuild%amd64) & shift & goto CheckOpts 42if NOT "%1"=="" (set regrtestargs=%regrtestargs% %1) & shift & goto CheckOpts 43 44if not defined prefix set prefix=%pcbuild%win32 45set exe=%prefix%\python%suffix%.exe 46set cmd="%exe%" %dashO% -u -Wd -E -bb -m test %regrtestargs% 47if defined qmode goto Qmode 48 49echo Deleting .pyc files ... 50"%exe%" "%pcbuild%rmpyc.py" 51 52echo Cleaning _pth files ... 53if exist %prefix%\*._pth del %prefix%\*._pth 54 55echo on 56%cmd% 57@echo off 58 59echo About to run again without deleting .pyc first: 60pause 61 62:Qmode 63echo on 64%cmd% 65