diff options
Diffstat (limited to '')
| -rw-r--r-- | src/test/sandbox/README | 2 | ||||
| -rw-r--r-- | src/test/sandbox/setup_sandbox.bat | 59 | ||||
| -rw-r--r-- | src/test/sandbox/startup.bat | 67 |
3 files changed, 88 insertions, 40 deletions
diff --git a/src/test/sandbox/README b/src/test/sandbox/README new file mode 100644 index 00000000..dd5a1e04 --- /dev/null +++ b/src/test/sandbox/README | |||
| @@ -0,0 +1,2 @@ | |||
| 1 | 1. Run setup_sandbox.bat from the Host, pick whether you want to use the EXE or the ZIP to install Dotnet. The chosen option will be automatically downloaded. | ||
| 2 | 2. Once you have built Wix Toolset and wish to perform integration testing, you can just launch the Sandbox by double-clicking (or executing) TestSandbox.wsb \ No newline at end of file | ||
diff --git a/src/test/sandbox/setup_sandbox.bat b/src/test/sandbox/setup_sandbox.bat index c4378f52..dc462324 100644 --- a/src/test/sandbox/setup_sandbox.bat +++ b/src/test/sandbox/setup_sandbox.bat | |||
| @@ -2,20 +2,41 @@ | |||
| 2 | @echo off | 2 | @echo off |
| 3 | SET DOTNET_VERSION=8.0 | 3 | SET DOTNET_VERSION=8.0 |
| 4 | 4 | ||
| 5 | if not exist AMD64 (mkdir AMD64) | 5 | :MENU |
| 6 | if not exist ARM64 (mkdir ARM64) | 6 | cls |
| 7 | REM if not exist VSTest (mkdir VSTest) | 7 | echo [0] Setup EXE install of DotNet for Sandbox |
| 8 | 8 | echo [1] Setup ZIP install of DotNet for Sandbox | |
| 9 | @echo on | 9 | echo [q] Quit |
| 10 | REM curl -L0 https://aka.ms/dotnet/%DOTNET_VERSION%/dotnet-runtime-win-x64.zip --output ".\AMD64\dotnet-runtime.zip" | 10 | set /P "Option=Please select install option: " |
| 11 | curl -L0 https://aka.ms/dotnet/%DOTNET_VERSION%/dotnet-sdk-win-x64.zip --output ".\AMD64\dotnet-sdk.zip" | 11 | if "%Option%"=="q" goto END |
| 12 | REM curl -L0 https://aka.ms/dotnet/%DOTNET_VERSION%/dotnet-runtime-win-arm64.zip --output ".\ARM64\dotnet-runtime.zip" | 12 | if "%Option%"=="0" goto EXE |
| 13 | curl -L0 https://aka.ms/dotnet/%DOTNET_VERSION%/dotnet-sdk-win-arm64.zip --output ".\ARM64\dotnet-sdk.zip" | 13 | if "%Option%"=="1" goto ZIP |
| 14 | @echo off | 14 | |
| 15 | :MENUERROR | ||
| 16 | cls | ||
| 17 | echo ERROR: Invalid Option Selected!! | ||
| 18 | pause | ||
| 19 | goto MENU | ||
| 20 | |||
| 21 | :EXE | ||
| 22 | echo EXE> dotnet.cfg | ||
| 23 | if %PROCESSOR_ARCHITECTURE%=="ARM64" ( | ||
| 24 | curl -L0 https://aka.ms/dotnet/%DOTNET_VERSION%/dotnet-sdk-win-arm64.exe --output ".\dotnet-sdk.exe" | ||
| 25 | ) else ( | ||
| 26 | curl -L0 https://aka.ms/dotnet/%DOTNET_VERSION%/dotnet-sdk-win-x64.exe --output ".\dotnet-sdk.exe" | ||
| 27 | ) | ||
| 28 | goto VSDEBUG | ||
| 15 | 29 | ||
| 16 | REM curl -L0 https://aka.ms/vs/17/release/RemoteTools.amd64ret.enu.exe --output ".\AMD64\RemoteTools.exe" | 30 | :ZIP |
| 17 | REM curl -L0 https://aka.ms/vs/17/release/RemoteTools.arm64ret.enu.exe --output ".\ARM64\RemoteTools.exe" | 31 | echo ZIP> dotnet.cfg |
| 32 | if %PROCESSOR_ARCHITECTURE%=="ARM64" ( | ||
| 33 | curl -L0 https://aka.ms/dotnet/%DOTNET_VERSION%/dotnet-sdk-win-arm64.zip --output ".\dotnet-sdk.zip" | ||
| 34 | ) else ( | ||
| 35 | curl -L0 https://aka.ms/dotnet/%DOTNET_VERSION%/dotnet-sdk-win-x64.zip --output ".\dotnet-sdk.zip" | ||
| 36 | ) | ||
| 37 | goto VSDEBUG | ||
| 18 | 38 | ||
| 39 | :VSDEBUG | ||
| 19 | for /f "usebackq tokens=*" %%i in (`"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -latest -requires Microsoft.VisualStudio.Debugger.Remote -property installationPath`) do ( | 40 | for /f "usebackq tokens=*" %%i in (`"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -latest -requires Microsoft.VisualStudio.Debugger.Remote -property installationPath`) do ( |
| 20 | set VsInstallDir=%%i | 41 | set VsInstallDir=%%i |
| 21 | ) | 42 | ) |
| @@ -28,12 +49,18 @@ if not "!VsInstallDir!"=="" ( | |||
| 28 | echo. | 49 | echo. |
| 29 | echo Have found VisualStudio Debugger at '%VsInstallDir%' | 50 | echo Have found VisualStudio Debugger at '%VsInstallDir%' |
| 30 | set /P "Confirm=Do you wish to copy it for use by the Sandbox? (Y / N):" | 51 | set /P "Confirm=Do you wish to copy it for use by the Sandbox? (Y / N):" |
| 31 | echo Confirm = %Confirm% | 52 | if "%Confirm%"=="Y" goto VSDEBUG_COPY |
| 32 | @if "%Confirm%"=="Y" or "%Confirm%"="y" ( | 53 | if "%Confirm%"=="y" goto VSDEBUG_COPY |
| 33 | XCOPY "%VsInstallDir%\Common7\IDE\Remote Debugger\*" ".\Debugger\" /E /Y | 54 | goto END |
| 34 | ) | ||
| 35 | ) | 55 | ) |
| 56 | goto END | ||
| 57 | |||
| 58 | :VSDEBUG_COPY | ||
| 59 | if not exist Debugger (mkdir Debugger) | ||
| 60 | XCOPY "%VsInstallDir%\Common7\IDE\Remote Debugger\*" ".\Debugger\" /E /Y > nul | ||
| 61 | echo Debugger files copied | ||
| 36 | 62 | ||
| 37 | 63 | ||
| 64 | :END | ||
| 38 | pause | 65 | pause |
| 39 | @endlocal | 66 | @endlocal |
diff --git a/src/test/sandbox/startup.bat b/src/test/sandbox/startup.bat index ce0f2bbd..7b9b603f 100644 --- a/src/test/sandbox/startup.bat +++ b/src/test/sandbox/startup.bat | |||
| @@ -1,28 +1,19 @@ | |||
| 1 | @setlocal | 1 | @setlocal |
| 2 | @echo off | ||
| 2 | SET DOTNET_VERSION=8.0 | 3 | SET DOTNET_VERSION=8.0 |
| 3 | SET SANDBOX_FILES=C:\sandbox | 4 | SET SANDBOX_FILES=C:\sandbox |
| 4 | 5 | ||
| 6 | set /p InstallMethod=<%SANDBOX_FILES%\dotnet.cfg | ||
| 7 | |||
| 5 | pushd "%TEMP%" | 8 | pushd "%TEMP%" |
| 9 | if "%InstallMethod%"=="EXE" goto EXE | ||
| 10 | if "%InstallMethod%"=="ZIP" goto ZIP | ||
| 11 | goto ERROR_NO_CONFIG | ||
| 6 | 12 | ||
| 13 | :ZIP | ||
| 7 | mkdir "%ProgramFiles%\dotnet" | 14 | mkdir "%ProgramFiles%\dotnet" |
| 8 | REM @if exist %SANDBOX_FILES%\%PROCESSOR_ARCHITECTURE%\dotnet-runtime.zip ( | 15 | if exist %SANDBOX_FILES%\dotnet-sdk.zip ( |
| 9 | REM tar -oxzf "%SANDBOX_FILES%\%PROCESSOR_ARCHITECTURE%\dotnet-runtime.zip" -C "%ProgramFiles%\dotnet" | 16 | tar -oxzf "%SANDBOX_FILES%\dotnet-sdk.zip" -C "%ProgramFiles%\dotnet" |
| 10 | REM ) else ( | ||
| 11 | REM if %PROCESSOR_ARCHITECTURE%=="ARM64" ( | ||
| 12 | REM curl -L https://aka.ms/dotnet/%DOTNET_VERSION%/dotnet-runtime-win-arm64.zip --output dotnet-runtime.zip | ||
| 13 | REM ) else ( | ||
| 14 | REM curl -L https://aka.ms/dotnet/%DOTNET_VERSION%/dotnet-runtime-win-x64.zip --output dotnet-runtime.zip | ||
| 15 | REM ) | ||
| 16 | REM if %errorlevel% NEQ 0 ( | ||
| 17 | REM echo No pre-provided dotnet runtime, and failed to download. Confirm networking is available. | ||
| 18 | REM goto :ERROR | ||
| 19 | REM ) | ||
| 20 | REM tar -oxzf dotnet-runtime.zip -C "%ProgramFiles%\dotnet" | ||
| 21 | REM del dotnet-runtime.zip | ||
| 22 | REM ) | ||
| 23 | |||
| 24 | @if exist %SANDBOX_FILES%\%PROCESSOR_ARCHITECTURE%\dotnet-sdk.zip ( | ||
| 25 | tar -oxzf "%SANDBOX_FILES%\%PROCESSOR_ARCHITECTURE%\dotnet-sdk.zip" -C "%ProgramFiles%\dotnet" | ||
| 26 | ) else ( | 17 | ) else ( |
| 27 | if %PROCESSOR_ARCHITECTURE%=="ARM64" ( | 18 | if %PROCESSOR_ARCHITECTURE%=="ARM64" ( |
| 28 | curl -L https://aka.ms/dotnet/%DOTNET_VERSION%/dotnet-sdk-win-arm64.zip --output dotnet-sdk.zip | 19 | curl -L https://aka.ms/dotnet/%DOTNET_VERSION%/dotnet-sdk-win-arm64.zip --output dotnet-sdk.zip |
| @@ -31,21 +22,49 @@ REM ) | |||
| 31 | ) | 22 | ) |
| 32 | if %errorlevel% NEQ 0 ( | 23 | if %errorlevel% NEQ 0 ( |
| 33 | echo "No pre-provided dotnet sdk, and failed to download. Confirm networking is available." | 24 | echo "No pre-provided dotnet sdk, and failed to download. Confirm networking is available." |
| 34 | goto ERROR | 25 | goto ERROR_NO_DOTNET |
| 35 | ) | 26 | ) |
| 36 | tar -oxzf dotnet-sdk.zip -C "%ProgramFiles%\dotnet" | 27 | tar -oxzf dotnet-sdk.zip -C "%ProgramFiles%\dotnet" |
| 37 | del dotnet-sdk.zip | 28 | del dotnet-sdk.zip |
| 38 | ) | 29 | ) |
| 30 | goto PROCEED | ||
| 39 | 31 | ||
| 40 | @endlocal | 32 | :EXE |
| 33 | if exist %SANDBOX_FILES%\dotnet-sdk.exe ( | ||
| 34 | "%SANDBOX_FILES%\dotnet-sdk.exe" /install /quiet /norestart | ||
| 35 | ) else ( | ||
| 36 | if %PROCESSOR_ARCHITECTURE%=="ARM64" ( | ||
| 37 | curl -L https://aka.ms/dotnet/%DOTNET_VERSION%/dotnet-sdk-win-arm64.exe --output dotnet-sdk.exe | ||
| 38 | ) else ( | ||
| 39 | curl -L https://aka.ms/dotnet/%DOTNET_VERSION%/dotnet-sdk-win-x64.exe --output dotnet-sdk.exe | ||
| 40 | ) | ||
| 41 | if %errorlevel% NEQ 0 ( | ||
| 42 | echo "No pre-provided dotnet sdk, and failed to download. Confirm networking is available." | ||
| 43 | goto ERROR_NO_DOTNET | ||
| 44 | ) | ||
| 45 | dotnet-sdk.exe /install /quiet /norestart | ||
| 46 | ) | ||
| 47 | goto PROCEED | ||
| 48 | |||
| 49 | :PROCEED | ||
| 50 | endlocal | ||
| 41 | SETX PATH "%PATH%;%ProgramFiles%\dotnet" /M | 51 | SETX PATH "%PATH%;%ProgramFiles%\dotnet" /M |
| 42 | SET PATH=%PATH%;%ProgramFiles%\dotnet | 52 | SET PATH=%PATH%;%ProgramFiles%\dotnet |
| 53 | |||
| 43 | dotnet nuget locals all --clear | 54 | dotnet nuget locals all --clear |
| 44 | dotnet help | 55 | dotnet help |
| 45 | 56 | ||
| 57 | popd | ||
| 58 | cd c:\build | ||
| 59 | start "Menu" cmd /c C:\sandbox\runtest_menu.bat | ||
| 60 | goto END | ||
| 46 | 61 | ||
| 47 | :ERROR | 62 | :ERROR_NO_CONFIG |
| 63 | start "ERROR" CMD /c echo ERROR: Host configuration has not been run, run setup_sandbox.bat first ^& pause | ||
| 64 | goto END | ||
| 48 | 65 | ||
| 49 | @popd | 66 | |
| 50 | cd c:\build | 67 | :ERROR_NO_DOTNET |
| 51 | start cmd /c C:\sandbox\runtest_menu.bat | 68 | start "ERROR" CMD /c echo ERROR: Failed to find dotnet install, and download failed. Run setup_sandbox.bat again ^& pause |
| 69 | |||
| 70 | :END | ||
