@@ -6,8 +6,9 @@ rem -O Run python.exe or python_d.exe (see -d) with -O.
66rem -q "quick" -- normally the tests are run twice, the first time
77rem after deleting all the .pyc files reachable from Lib/.
88rem -q runs the tests just once, and without deleting .pyc files.
9- rem -x64 Run the 64-bit build of python (or python_d if -d was specified)
10- rem When omitted, uses %PREFIX% if set or the 32-bit build
9+ rem -p < Win32| x64| ARM| ARM64> or -win32, -x64, -arm32, -arm64
10+ rem Run the specified architecture of python (or python_d if -d
11+ rem was specified). If omitted, uses %PREFIX% if set or 32-bit.
1112rem All leading instances of these switches are shifted off, and
1213rem whatever remains (up to 9 arguments) is passed to regrtest.py.
1314rem For example,
@@ -38,9 +39,11 @@ set exe=
3839if " %1 " == " -O" (set dashO=-O) & shift & goto CheckOpts
3940if " %1 " == " -q" (set qmode=yes) & shift & goto CheckOpts
4041if " %1 " == " -d" (set suffix=_d) & shift & goto CheckOpts
42+ if " %1 " == " -win32" (set prefix=%pcbuild% win32) & shift & goto CheckOpts
4143if " %1 " == " -x64" (set prefix=%pcbuild% amd64) & shift & goto CheckOpts
4244if " %1 " == " -arm64" (set prefix=%pcbuild% arm64) & shift & goto CheckOpts
4345if " %1 " == " -arm32" (set prefix=%pcbuild% arm32) & shift & goto CheckOpts
46+ if " %1 " == " -p" (call :SetPlatform %~2 ) & shift & shift & goto CheckOpts
4447if NOT " %1 " == " " (set regrtestargs=%regrtestargs% %1 ) & shift & goto CheckOpts
4548
4649if not defined prefix set prefix = %pcbuild% win32
@@ -60,6 +63,15 @@ echo on
6063
6164echo About to run again without deleting .pyc first:
6265pause
66+ goto Qmode
67+
68+ :SetPlatform
69+ if /I %1 EQU Win32 (set prefix=%pcbuild% win32) & exit /B 0
70+ if /I %1 EQU x64 (set prefix=%pcbuild% amd64) & exit /B 0
71+ if /I %1 EQU ARM64 (set prefix=%pcbuild% arm64) & exit /B 0
72+ if /I %1 EQU ARM (set prefix=%pcbuild% arm32) & exit /B 0
73+ echo Invalid platform " %1 "
74+ exit /B 1
6375
6476:Qmode
6577echo on
0 commit comments