mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
bpo-36511: Add buildbot scripts and fix tests for Windows ARM32 buildbot (GH-13454)
This commit is contained in:
parent
12f1c726d8
commit
f355069a33
8 changed files with 107 additions and 13 deletions
48
Tools/buildbot/remoteDeploy.bat
Normal file
48
Tools/buildbot/remoteDeploy.bat
Normal file
|
@ -0,0 +1,48 @@
|
|||
@echo off
|
||||
rem Used by the buildbot "remotedeploy" step.
|
||||
setlocal
|
||||
|
||||
set here=%~dp0
|
||||
set arm32_ssh=
|
||||
|
||||
:CheckOpts
|
||||
if "%1"=="-arm32" (set arm32_ssh=true) & shift & goto CheckOpts
|
||||
if NOT "%1"=="" (echo unrecognized option %1) & goto Arm32SshHelp
|
||||
|
||||
if "%arm32_ssh%"=="true" goto :Arm32Ssh
|
||||
|
||||
:Arm32Ssh
|
||||
if "%SSH_SERVER%"=="" goto :Arm32SshHelp
|
||||
if "%SSH%"=="" if EXIST %WINDIR%\System32\OpenSSH\ssh.exe (set SSH=%WINDIR%\System32\OpenSSH\ssh.exe)
|
||||
if "%SCP%"=="" if EXIST %WINDIR%\System32\OpenSSH\scp.exe (set SCP=%WINDIR%\System32\OpenSSH\scp.exe)
|
||||
echo SSH = %SSH%
|
||||
echo SCP = %SCP%
|
||||
if "%PYTHON_SOURCE%"=="" (set PYTHON_SOURCE=%here%..\..\)
|
||||
if "%REMOTE_PYTHON_DIR%"=="" (set REMOTE_PYTHON_DIR=C:\python\)
|
||||
if NOT "%REMOTE_PYTHON_DIR:~-1,1%"=="\" (set REMOTE_PYTHON_DIR=%REMOTE_PYTHON_DIR%\)
|
||||
%SSH% %SSH_SERVER% "if EXIST %REMOTE_PYTHON_DIR% (rd %REMOTE_PYTHON_DIR% /s/q)"
|
||||
%SSH% %SSH_SERVER% "md %REMOTE_PYTHON_DIR%PCBuild\arm32"
|
||||
%SSH% %SSH_SERVER% "md %REMOTE_PYTHON_DIR%temp"
|
||||
%SSH% %SSH_SERVER% "md %REMOTE_PYTHON_DIR%Modules"
|
||||
%SSH% %SSH_SERVER% "md %REMOTE_PYTHON_DIR%PC"
|
||||
for /f "USEBACKQ" %%i in (`dir PCbuild\*.bat /b`) do @%SCP% PCBuild\%%i "%SSH_SERVER%:%REMOTE_PYTHON_DIR%PCBuild"
|
||||
for /f "USEBACKQ" %%i in (`dir PCbuild\*.py /b`) do @%SCP% PCBuild\%%i "%SSH_SERVER%:%REMOTE_PYTHON_DIR%PCBuild"
|
||||
for /f "USEBACKQ" %%i in (`dir PCbuild\arm32\*.exe /b`) do @%SCP% PCBuild\arm32\%%i "%SSH_SERVER%:%REMOTE_PYTHON_DIR%PCBuild\arm32"
|
||||
for /f "USEBACKQ" %%i in (`dir PCbuild\arm32\*.pyd /b`) do @%SCP% PCBuild\arm32\%%i "%SSH_SERVER%:%REMOTE_PYTHON_DIR%PCBuild\arm32"
|
||||
for /f "USEBACKQ" %%i in (`dir PCbuild\arm32\*.dll /b`) do @%SCP% PCBuild\arm32\%%i "%SSH_SERVER%:%REMOTE_PYTHON_DIR%PCBuild\arm32"
|
||||
%SCP% -r "%PYTHON_SOURCE%Include" "%SSH_SERVER%:%REMOTE_PYTHON_DIR%Include"
|
||||
%SCP% -r "%PYTHON_SOURCE%Lib" "%SSH_SERVER%:%REMOTE_PYTHON_DIR%Lib"
|
||||
%SCP% -r "%PYTHON_SOURCE%Tools" "%SSH_SERVER%:%REMOTE_PYTHON_DIR%Tools"
|
||||
%SCP% "%PYTHON_SOURCE%Modules\Setup" "%SSH_SERVER%:%REMOTE_PYTHON_DIR%Modules"
|
||||
%SCP% "%PYTHON_SOURCE%PC\pyconfig.h" "%SSH_SERVER%:%REMOTE_PYTHON_DIR%PC"
|
||||
|
||||
exit /b %ERRORLEVEL%
|
||||
|
||||
:Arm32SshHelp
|
||||
echo SSH_SERVER environment variable must be set to administrator@[ip address]
|
||||
echo where [ip address] is the address of a Windows IoT Core ARM32 device.
|
||||
echo.
|
||||
echo The test worker should have the SSH agent running.
|
||||
echo Also a key must be created with ssh-keygen and added to both the buildbot worker machine
|
||||
echo and the ARM32 worker device: see https://docs.microsoft.com/en-us/windows/iot-core/connect-your-device/ssh
|
||||
exit /b 127
|
34
Tools/buildbot/remotePythonInfo.bat
Normal file
34
Tools/buildbot/remotePythonInfo.bat
Normal file
|
@ -0,0 +1,34 @@
|
|||
@echo off
|
||||
rem Used by the buildbot "remotedeploy" step.
|
||||
setlocal
|
||||
|
||||
set here=%~dp0
|
||||
set arm32_ssh=
|
||||
set suffix=_d
|
||||
if "%REMOTE_PYTHON_DIR%"=="" (set REMOTE_PYTHON_DIR=C:\python\)
|
||||
if NOT "%REMOTE_PYTHON_DIR:~-1,1%"=="\" (set REMOTE_PYTHON_DIR=%REMOTE_PYTHON_DIR%\)
|
||||
|
||||
:CheckOpts
|
||||
if "%1"=="-arm32" (set arm32_ssh=true) & (set prefix=%REMOTE_PYTHON_DIR%pcbuild\arm32) & shift & goto CheckOpts
|
||||
if "%1"=="-d" (set suffix=_d) & shift & goto CheckOpts
|
||||
if "%1"=="+d" (set suffix=) & shift & goto CheckOpts
|
||||
if NOT "%1"=="" (echo unrecognized option %1) & goto Arm32SshHelp
|
||||
|
||||
if "%arm32_ssh%"=="true" goto :Arm32Ssh
|
||||
|
||||
:Arm32Ssh
|
||||
if "%SSH_SERVER%"=="" goto :Arm32SshHelp
|
||||
if "%SSH%"=="" if EXIST %WINDIR%\System32\OpenSSH\ssh.exe (set SSH=%WINDIR%\System32\OpenSSH\ssh.exe)
|
||||
set PYTHON_EXE=%prefix%\python%suffix%.exe
|
||||
echo on
|
||||
%SSH% %SSH_SERVER% %PYTHON_EXE% -m test.pythoninfo
|
||||
exit /b %ERRORLEVEL%
|
||||
|
||||
:Arm32SshHelp
|
||||
echo SSH_SERVER environment variable must be set to administrator@[ip address]
|
||||
echo where [ip address] is the address of a Windows IoT Core ARM32 device.
|
||||
echo.
|
||||
echo The test worker should have the SSH agent running.
|
||||
echo Also a key must be created with ssh-keygen and added to both the buildbot worker machine
|
||||
echo and the ARM32 worker device: see https://docs.microsoft.com/en-us/windows/iot-core/connect-your-device/ssh
|
||||
exit /b 127
|
|
@ -18,8 +18,10 @@ if "%1"=="+d" (set rt_opts=%rt_opts:-d=%) & shift & goto CheckOpts
|
|||
if "%1"=="+q" (set rt_opts=%rt_opts:-q=%) & shift & goto CheckOpts
|
||||
if NOT "%1"=="" (set regrtest_args=%regrtest_args% %1) & shift & goto CheckOpts
|
||||
|
||||
if "%PROCESSOR_ARCHITECTURE%"=="ARM" if "%arm32_ssh%"=="true" goto NativeExecution
|
||||
if "%arm32_ssh%"=="true" goto :Arm32Ssh
|
||||
|
||||
:NativeExecution
|
||||
call "%here%..\..\PCbuild\rt.bat" %rt_opts% -uall -rwW --slowest --timeout=1200 --fail-env-changed %regrtest_args%
|
||||
exit /b %ERRORLEVEL%
|
||||
|
||||
|
@ -28,20 +30,12 @@ set dashU=-unetwork,decimal,subprocess,urlfetch,tzdata
|
|||
if "%SSH_SERVER%"=="" goto :Arm32SshHelp
|
||||
if "%PYTHON_SOURCE%"=="" (set PYTHON_SOURCE=%here%..\..\)
|
||||
if "%REMOTE_PYTHON_DIR%"=="" (set REMOTE_PYTHON_DIR=C:\python\)
|
||||
if NOT "%REMOTE_PYTHON_DIR:~-1,1%"=="\" (set REMOTE_PYTHON_DIR=%REMOTE_PYTHON_DIR%\)
|
||||
if "%SSH%"=="" if EXIST %WINDIR%\System32\OpenSSH\ssh.exe (set SSH=%WINDIR%\System32\OpenSSH\ssh.exe)
|
||||
set TEMP_ARGS=--temp %REMOTE_PYTHON_DIR%temp
|
||||
ssh %SSH_SERVER% "if EXIST %REMOTE_PYTHON_DIR% (rd %REMOTE_PYTHON_DIR% /s/q)"
|
||||
ssh %SSH_SERVER% "md %REMOTE_PYTHON_DIR%PCBuild\arm32"
|
||||
ssh %SSH_SERVER% "md %REMOTE_PYTHON_DIR%temp"
|
||||
for /f "USEBACKQ" %%i in (`dir PCbuild\*.bat /b`) do @scp PCBuild\%%i "%SSH_SERVER%:%REMOTE_PYTHON_DIR%PCBuild"
|
||||
for /f "USEBACKQ" %%i in (`dir PCbuild\*.py /b`) do @scp PCBuild\%%i "%SSH_SERVER%:%REMOTE_PYTHON_DIR%PCBuild"
|
||||
for /f "USEBACKQ" %%i in (`dir PCbuild\arm32\*.exe /b`) do @scp PCBuild\arm32\%%i "%SSH_SERVER%:%REMOTE_PYTHON_DIR%PCBuild\arm32"
|
||||
for /f "USEBACKQ" %%i in (`dir PCbuild\arm32\*.pyd /b`) do @scp PCBuild\arm32\%%i "%SSH_SERVER%:%REMOTE_PYTHON_DIR%PCBuild\arm32"
|
||||
for /f "USEBACKQ" %%i in (`dir PCbuild\arm32\*.dll /b`) do @scp PCBuild\arm32\%%i "%SSH_SERVER%:%REMOTE_PYTHON_DIR%PCBuild\arm32"
|
||||
scp -r "%PYTHON_SOURCE%Include" "%SSH_SERVER%:%REMOTE_PYTHON_DIR%Include"
|
||||
scp -r "%PYTHON_SOURCE%Lib" "%SSH_SERVER%:%REMOTE_PYTHON_DIR%Lib"
|
||||
|
||||
set rt_args=%rt_opts% %dashU% -rwW --slowest --timeout=1200 --fail-env-changed %regrtest_args% %TEMP_ARGS%
|
||||
ssh %SSH_SERVER% "set TEMP=%REMOTE_PYTHON_DIR%temp& %REMOTE_PYTHON_DIR%PCbuild\rt.bat" %rt_args%
|
||||
%SSH% %SSH_SERVER% "set TEMP=%REMOTE_PYTHON_DIR%temp& %REMOTE_PYTHON_DIR%PCbuild\rt.bat" %rt_args%
|
||||
exit /b %ERRORLEVEL%
|
||||
|
||||
:Arm32SshHelp
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue