diff options
author | Bevan Weiss <bevan.weiss@gmail.com> | 2024-06-22 03:37:22 +1000 |
---|---|---|
committer | Bob Arnson <github@bobs.org> | 2024-07-04 19:25:49 -0400 |
commit | d2582c7bdbb09513849b36a49b5f992c2bc58e78 (patch) | |
tree | 186542b02a1e1c431a708a42416097318accba3d /src/test | |
parent | a4f09c89c7c044f606ddf6bcff587ccb693560bf (diff) | |
download | wix-d2582c7bdbb09513849b36a49b5f992c2bc58e78.tar.gz wix-d2582c7bdbb09513849b36a49b5f992c2bc58e78.tar.bz2 wix-d2582c7bdbb09513849b36a49b5f992c2bc58e78.zip |
Added some more modifications to the Sandbox.
It will now prompt for configuring the Remote Debugger if it can find it
on the host when doing the setup.
And will prompt within the Sandbox to run the Debugger at startup if found
It will also show the host-local IP address to connect to the debugger.
In addition, it will display a small menu to allow for simple selection of
a particular runtests.cmd version to execute.
I still haven't found a good way to get a debugger attached into the msiexec
environment without already having a coded breakpoint in, however.
Also added this sandbox folder to .gitignore, so that artifacts from here
aren't committed into the repo
Signed-off-by: Bevan Weiss <bevan.weiss@gmail.com>
Diffstat (limited to 'src/test')
-rw-r--r-- | src/test/sandbox/runtest_menu.bat | 51 | ||||
-rw-r--r-- | src/test/sandbox/setup_sandbox.bat | 30 | ||||
-rw-r--r-- | src/test/sandbox/startup.bat | 2 |
3 files changed, 77 insertions, 6 deletions
diff --git a/src/test/sandbox/runtest_menu.bat b/src/test/sandbox/runtest_menu.bat new file mode 100644 index 00000000..275199fe --- /dev/null +++ b/src/test/sandbox/runtest_menu.bat | |||
@@ -0,0 +1,51 @@ | |||
1 | @setlocal EnableDelayedExpansion | ||
2 | @echo off | ||
3 | |||
4 | for /f "tokens=2 delims=[]" %%a in ('ping -n 1 -4 ""') do set IPAddr=%%a | ||
5 | @if %PROCESSOR_ARCHITECTURE%=="ARM64" ( | ||
6 | @if exist C:\sandbox\Debugger\ARM64\msvsmon.exe ( | ||
7 | set MsVsMonPath=C:\sandbox\Debugger\ARM64\msvsmon.exe | ||
8 | ) | ||
9 | ) else ( | ||
10 | @if exist C:\sandbox\Debugger\x64\msvsmon.exe ( | ||
11 | set MsVsMonPath=C:\sandbox\Debugger\x64\msvsmon.exe | ||
12 | ) | ||
13 | ) | ||
14 | |||
15 | :TestSelect | ||
16 | cls | ||
17 | REM Show the test select menu | ||
18 | set index=0 | ||
19 | if not "%MsVsMonPath%"=="" ( | ||
20 | echo [!index!] Run Remote Debugger SandboxIP=%IPAddr% | ||
21 | set "option[!index!]=%MsVsMonPath%" | ||
22 | ) | ||
23 | |||
24 | for /f %%i in ('where /R c:\build runtests.cmd') do ( | ||
25 | set /A "index+=1" | ||
26 | echo [!index!] %%i | ||
27 | set "option[!index!]=%%i!" | ||
28 | ) | ||
29 | echo [q] Quit | ||
30 | |||
31 | set /P "SelectTest=Please Choose The Test You Want To Execute: " | ||
32 | if "%SelectTest%"=="q" Goto End | ||
33 | if defined option[%SelectTest%] Goto TestSet | ||
34 | |||
35 | :TestError | ||
36 | cls | ||
37 | Echo ERROR: Invalid Test Selected!! | ||
38 | pause | ||
39 | goto TestSelect | ||
40 | |||
41 | :TestSet | ||
42 | set "TestIs=!option[%SelectTest%]!" | ||
43 | for %%a in (%TestIs%) do set FileDir=%%~dpa | ||
44 | for %%a in (%TestIs%) do set FileName=%%~nxa | ||
45 | start /D %FileDir% %FileName% | ||
46 | if %SelectTest%==0 ( | ||
47 | goto TestSelect | ||
48 | ) | ||
49 | |||
50 | :End | ||
51 | @endlocal \ No newline at end of file | ||
diff --git a/src/test/sandbox/setup_sandbox.bat b/src/test/sandbox/setup_sandbox.bat index f74e7535..235f6724 100644 --- a/src/test/sandbox/setup_sandbox.bat +++ b/src/test/sandbox/setup_sandbox.bat | |||
@@ -1,16 +1,36 @@ | |||
1 | @setlocal | 1 | @setlocal |
2 | @SET DOTNET_VERSION=8.0 | 2 | @echo off |
3 | SET DOTNET_VERSION=8.0 | ||
3 | 4 | ||
4 | @if not exist AMD64 (mkdir AMD64) | 5 | if not exist AMD64 (mkdir AMD64) |
5 | @if not exist ARM64 (mkdir ARM64) | 6 | if not exist ARM64 (mkdir ARM64) |
6 | @REM if not exist VSTest (mkdir VSTest) | 7 | REM if not exist VSTest (mkdir VSTest) |
7 | 8 | ||
9 | @echo on | ||
8 | curl -L0 https://aka.ms/dotnet/%DOTNET_VERSION%/dotnet-runtime-win-x64.zip --output ".\AMD64\dotnet-runtime.zip" | 10 | curl -L0 https://aka.ms/dotnet/%DOTNET_VERSION%/dotnet-runtime-win-x64.zip --output ".\AMD64\dotnet-runtime.zip" |
9 | curl -L0 https://aka.ms/dotnet/%DOTNET_VERSION%/dotnet-sdk-win-x64.zip --output ".\AMD64\dotnet-sdk.zip" | 11 | curl -L0 https://aka.ms/dotnet/%DOTNET_VERSION%/dotnet-sdk-win-x64.zip --output ".\AMD64\dotnet-sdk.zip" |
10 | curl -L0 https://aka.ms/dotnet/%DOTNET_VERSION%/dotnet-runtime-win-arm64.zip --output ".\ARM64\dotnet-runtime.zip" | 12 | curl -L0 https://aka.ms/dotnet/%DOTNET_VERSION%/dotnet-runtime-win-arm64.zip --output ".\ARM64\dotnet-runtime.zip" |
11 | curl -L0 https://aka.ms/dotnet/%DOTNET_VERSION%/dotnet-sdk-win-arm64.zip --output ".\ARM64\dotnet-sdk.zip" | 13 | curl -L0 https://aka.ms/dotnet/%DOTNET_VERSION%/dotnet-sdk-win-arm64.zip --output ".\ARM64\dotnet-sdk.zip" |
14 | @echo off | ||
12 | 15 | ||
13 | REM "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -prerelease | 16 | REM curl -L0 https://aka.ms/vs/17/release/RemoteTools.amd64ret.enu.exe --output ".\AMD64\RemoteTools.exe" |
17 | REM curl -L0 https://aka.ms/vs/17/release/RemoteTools.arm64ret.enu.exe --output ".\ARM64\RemoteTools.exe" | ||
14 | 18 | ||
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 ( | ||
20 | set VsInstallDir=%%i | ||
21 | ) | ||
22 | if "!VsInstallDir!"=="" ( | ||
23 | for /f "usebackq tokens=*" %%i in (`"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -prerelease -latest -requires Microsoft.VisualStudio.Debugger.Remote -property installationPath`) do ( | ||
24 | set VsInstallDir=%%i | ||
25 | ) | ||
26 | ) | ||
27 | if "!VsInstallDir!"=="" ( | ||
28 | set /P "Confirm=Have found VisualStudio Debugger at '%VsInstallDir%', Do you wish to copy it for use by the Sandbox? (Y / N):" | ||
29 | if "%Confirm%"=="Y" ( | ||
30 | XCOPY "%VsInstallDir%\Common7\IDE\Remote Debugger\*" ".\Debugger\" /E | ||
31 | ) | ||
32 | ) | ||
15 | 33 | ||
34 | |||
35 | pause | ||
16 | @endlocal | 36 | @endlocal |
diff --git a/src/test/sandbox/startup.bat b/src/test/sandbox/startup.bat index 0f1b33d8..f09feeba 100644 --- a/src/test/sandbox/startup.bat +++ b/src/test/sandbox/startup.bat | |||
@@ -45,4 +45,4 @@ dotnet help | |||
45 | 45 | ||
46 | @popd | 46 | @popd |
47 | cd c:\build | 47 | cd c:\build |
48 | start cmd | 48 | start cmd /c C:\sandbox\runtest_menu.bat |