mirror of
https://github.com/python/cpython.git
synced 2025-08-03 16:39:00 +00:00
Adds automated test script for the Windows installer and fixes download URL
This commit is contained in:
parent
26dd5edae8
commit
5056455b7d
4 changed files with 88 additions and 2 deletions
|
@ -22,6 +22,7 @@ set PCBUILD=%D%..\..\PCBuild\
|
|||
set BUILDX86=
|
||||
set BUILDX64=
|
||||
set TARGET=Rebuild
|
||||
set TESTTARGETDIR=
|
||||
|
||||
|
||||
:CheckOpts
|
||||
|
@ -30,6 +31,7 @@ if "%1" EQU "-o" (set OUTDIR=%~2) && shift && shift && goto CheckOpts
|
|||
if "%1" EQU "-D" (set SKIPDOC=1) && shift && goto CheckOpts
|
||||
if "%1" EQU "-B" (set SKIPBUILD=1) && shift && goto CheckOpts
|
||||
if "%1" EQU "--download" (set DOWNLOAD_URL=%~2) && shift && shift && goto CheckOpts
|
||||
if "%1" EQU "--test" (set TESTTARGETDIR=%~2) && shift && shift && goto CheckOpts
|
||||
if "%1" EQU "-b" (set TARGET=Build) && shift && goto CheckOpts
|
||||
if '%1' EQU '-x86' (set BUILDX86=1) && shift && goto CheckOpts
|
||||
if '%1' EQU '-x64' (set BUILDX64=1) && shift && goto CheckOpts
|
||||
|
@ -66,6 +68,10 @@ if defined BUILDX64 (
|
|||
if errorlevel 1 exit /B
|
||||
)
|
||||
|
||||
if defined TESTTARGETDIR (
|
||||
call "%D%testrelease.bat" -t "%TESTTARGETDIR%"
|
||||
)
|
||||
|
||||
exit /B 0
|
||||
|
||||
:build
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
<OutputPath>$(OutputPath)en-us\</OutputPath>
|
||||
<OutDir>$(OutputPath)</OutDir>
|
||||
|
||||
<DownloadUrl Condition="'$(DownloadUrl)' == '' and '$(DownloadUrlBase)' != ''">$(DownloadUrlBase.TrimEnd(`/`))/$(PythonVersion)/$(ArchName)/{2}</DownloadUrl>
|
||||
<DownloadUrl Condition="'$(DownloadUrl)' == '' and '$(DownloadUrlBase)' != ''">$(DownloadUrlBase.TrimEnd(`/`))/$(MajorVersionNumber).$(MinorVersionNumber).$(MicroVersionNumber)/$(ArchName)$(ReleaseLevelName)/{2}</DownloadUrl>
|
||||
<DefineConstants Condition="'$(DownloadUrl)' != ''">$(DefineConstants);DownloadUrl=$(DownloadUrl)</DefineConstants>
|
||||
<DefineConstants Condition="'$(DownloadUrl)' == ''">$(DefineConstants);DownloadUrl={2}</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
|
|
@ -22,7 +22,7 @@ if not EXTERNALS_DIR:
|
|||
print("Cannot find project root")
|
||||
sys.exit(1)
|
||||
|
||||
WIX_BINARIES_ZIP = 'http://wixtoolset.org/downloads/v3.10.1124.0/wix310-binaries.zip'
|
||||
WIX_BINARIES_ZIP = 'http://wixtoolset.org/downloads/v3.10.0.1403/wix310-binaries.zip'
|
||||
TARGET_BIN_ZIP = EXTERNALS_DIR / "wix.zip"
|
||||
TARGET_BIN_DIR = EXTERNALS_DIR / "wix"
|
||||
|
||||
|
|
80
Tools/msi/testrelease.bat
Normal file
80
Tools/msi/testrelease.bat
Normal file
|
@ -0,0 +1,80 @@
|
|||
@setlocal
|
||||
@echo off
|
||||
|
||||
set D=%~dp0
|
||||
set PCBUILD=%D%..\..\PCBuild\
|
||||
|
||||
set TARGETDIR=%TEMP%
|
||||
set TESTX86=
|
||||
set TESTX64=
|
||||
set TESTALLUSER=
|
||||
set TESTPERUSER=
|
||||
|
||||
:CheckOpts
|
||||
if '%1' EQU '-x86' (set TESTX86=1) && shift && goto CheckOpts
|
||||
if '%1' EQU '-x64' (set TESTX64=1) && shift && goto CheckOpts
|
||||
if '%1' EQU '-t' (set TARGETDIR=%~2) && shift && shift && goto CheckOpts
|
||||
if '%1' EQU '-a' (set TESTALLUSER=1) && shift && goto CheckOpts
|
||||
if '%1' EQU '-p' (set TESTPERUSER=1) && shift && goto CheckOpts
|
||||
|
||||
if not defined TESTX86 if not defined TESTX64 (set TESTX86=1) && (set TESTX64=1)
|
||||
if not defined TESTALLUSER if not defined TESTPERUSER (set TESTALLUSER=1) && (set TESTPERUSER=1)
|
||||
|
||||
|
||||
if defined TESTX86 (
|
||||
for %%f in ("%PCBUILD%win32\en-us\*.exe") do (
|
||||
if defined TESTALLUSER call :test "%%~ff" "%TARGETDIR%\%%~nf-alluser" InstallAllUsers=1
|
||||
if defined TESTPERUSER call :test "%%~ff" "%TARGETDIR%\%%~nf-peruser" InstallAllUsers=0
|
||||
if errorlevel 1 exit /B
|
||||
)
|
||||
)
|
||||
|
||||
if defined TESTX64 (
|
||||
for %%f in ("%PCBUILD%amd64\en-us\*.exe") do (
|
||||
if defined TESTALLUSER call :test "%%~ff" "%TARGETDIR%\%%~nf-alluser" InstallAllUsers=1
|
||||
if defined TESTPERUSER call :test "%%~ff" "%TARGETDIR%\%%~nf-peruser" InstallAllUsers=0
|
||||
if errorlevel 1 exit /B
|
||||
)
|
||||
)
|
||||
|
||||
exit /B 0
|
||||
|
||||
:test
|
||||
@setlocal
|
||||
@echo on
|
||||
|
||||
@if not exist "%~1" exit /B 1
|
||||
|
||||
@set EXITCODE=0
|
||||
@echo Installing %1 into %2
|
||||
"%~1" /passive /log "%~2\install\log.txt" %~3 TargetDir="%~2\Python" Include_debug=1 Include_symbols=1 CompileAll=1
|
||||
|
||||
@if not errorlevel 1 (
|
||||
@echo Printing version
|
||||
"%~2\Python\python.exe" -c "import sys; print(sys.version)" > "%~2\version.txt" 2>&1
|
||||
)
|
||||
@if not errorlevel 1 (
|
||||
@echo Installing package
|
||||
"%~2\Python\python.exe" -m pip install azure > "%~2\pip.txt" 2>&1
|
||||
@if not errorlevel 1 (
|
||||
"%~2\Python\python.exe" -m pip uninstall -y azure python-dateutil six > "%~2\pip.txt" 2>&1
|
||||
)
|
||||
)
|
||||
@if not errorlevel 1 (
|
||||
@echo Testing Tcl/tk
|
||||
@set TCL_LIBRARY=%~2\Python\tcl\tcl8.6
|
||||
"%~2\Python\python.exe" -m test -uall -v test_ttk_guionly test_tk test_idle > "%~2\tcltk.txt" 2>&1
|
||||
@set TCL_LIBRARY=
|
||||
)
|
||||
|
||||
@set EXITCODE=%ERRORLEVEL%
|
||||
|
||||
@for /d %%f in ("%PROGRAMDATA%\Microsoft\Windows\Start Menu\Programs\Python*") do @dir "%%~ff\*.lnk" /s/b > "%~2\startmenu.txt" 2>&1
|
||||
@for /d %%f in ("%APPDATA%\Microsoft\Windows\Start Menu\Programs\Python*") do @dir "%%~ff\*.lnk" /s/b >> "%~2\startmenu.txt" 2>&1
|
||||
|
||||
@echo Result was %EXITCODE%
|
||||
@echo Removing %1
|
||||
"%~1" /passive /uninstall /log "%~2\uninstall\log.txt"
|
||||
|
||||
@echo off
|
||||
exit /B %EXITCODE%
|
Loading…
Add table
Add a link
Reference in a new issue