From ec89ea96ae7f42b227c0fb5f61cd21a19ef2e8de Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Fri, 31 Dec 2021 20:24:05 -0600 Subject: Upload test results and fail the build if any are missing. Always zip up the logs from %TEMP%. --- src/api/api.cmd | 11 +++++---- src/build_init.cmd | 1 + src/burn/burn.cmd | 5 ++-- src/create_zips.cmd | 2 ++ .../build/WixBuildTools.TestSupport.Native.targets | 4 +++- src/libs/libs.cmd | 5 ++-- src/test/burn/test_burn.cmd | 11 ++++----- src/test/test.cmd | 3 ++- src/testresultfilelist.txt | 16 +++++++++++++ src/wix/wix.cmd | 27 +++++++++++----------- 10 files changed, 54 insertions(+), 31 deletions(-) create mode 100644 src/create_zips.cmd create mode 100644 src/testresultfilelist.txt (limited to 'src') diff --git a/src/api/api.cmd b/src/api/api.cmd index 6a424c34..ffc403d5 100644 --- a/src/api/api.cmd +++ b/src/api/api.cmd @@ -2,6 +2,7 @@ @pushd %~dp0 @set _C=Debug +@set _L=%~dp0..\..\build\logs :parse_args @if /i "%1"=="release" set _C=Release @if not "%1"=="" shift & goto parse_args @@ -12,13 +13,13 @@ :: build :: pack -msbuild api_t.proj -p:Configuration=%_C% -nologo -m -warnaserror -bl:..\..\build\logs\api_build.binlog || exit /b +msbuild api_t.proj -p:Configuration=%_C% -nologo -m -warnaserror -bl:%_L%\api_build.binlog || exit /b :: test -dotnet test burn\test\WixToolsetTest.Mba.Core\WixToolsetTest.Mba.Core.csproj -c %_C% --nologo --no-build || exit /b -msbuild burn\test\BalUtilUnitTest -t:Test -p:Configuration=%_C% -nologo || exit /b -msbuild burn\test\BextUtilUnitTest -t:Test -p:Configuration=%_C% -nologo || exit /b -dotnet test wix\api_wix.sln -c %_C% --nologo --no-build || exit /b +dotnet test burn\test\WixToolsetTest.Mba.Core -c %_C% --nologo --no-build -l "trx;LogFileName=%_L%\TestResults\WixToolsetTest.Mba.Core.trx" || exit /b +msbuild burn\test\BalUtilUnitTest -t:Test -p:Configuration=%_C% -nologo -p:CppCliTestResultsFile="%_L%\TestResults\BalUtilUnitTest.xunit2.xml" || exit /b +msbuild burn\test\BextUtilUnitTest -t:Test -p:Configuration=%_C% -nologo -p:CppCliTestResultsFile="%_L%\TestResults\BextUtilUnitTest.xunit2.xml" || exit /b +dotnet test wix\api_wix.sln -c %_C% --nologo --no-build -l "trx;LogFileName=%_L%\TestResults\api_wix.trx" || exit /b @popd @endlocal diff --git a/src/build_init.cmd b/src/build_init.cmd index 895af357..980dc327 100644 --- a/src/build_init.cmd +++ b/src/build_init.cmd @@ -2,6 +2,7 @@ @pushd %~dp0 md ..\build\artifacts +md ..\build\logs\TestResults msbuild -Restore internal\SetBuildNumber\SetBuildNumber.proj -nologo diff --git a/src/burn/burn.cmd b/src/burn/burn.cmd index b7c171c5..bd872bad 100644 --- a/src/burn/burn.cmd +++ b/src/burn/burn.cmd @@ -2,6 +2,7 @@ @pushd %~dp0 @set _C=Debug +@set _L=%~dp0..\..\build\logs :parse_args @if /i "%1"=="release" set _C=Release @if not "%1"=="" shift & goto parse_args @@ -12,9 +13,9 @@ nuget restore || exit /b -msbuild burn_t.proj -p:Configuration=%_C% -nologo -m -warnaserror -bl:..\..\build\logs\burn_build.binlog || exit /b +msbuild burn_t.proj -p:Configuration=%_C% -nologo -m -warnaserror -bl:%_L%\burn_build.binlog || exit /b -msbuild test\BurnUnitTest -t:Test -p:Configuration=%_C% -nologo || exit /b +msbuild test\BurnUnitTest -t:Test -p:Configuration=%_C% -nologo -p:CppCliTestResultsFile="%_L%\TestResults\BurnUnitTest.xunit2.xml" || exit /b @popd @endlocal diff --git a/src/create_zips.cmd b/src/create_zips.cmd new file mode 100644 index 00000000..0df7e000 --- /dev/null +++ b/src/create_zips.cmd @@ -0,0 +1,2 @@ +7z a "build\logs\test_burn_%GITHUB_RUN_ID%.zip" "%TEMP%\*.log" "%TEMP%\..\*.log" || exit /b +7z a "build\testresults.zip" @src\testresultfilelist.txt || exit /b \ No newline at end of file diff --git a/src/internal/WixBuildTools.TestSupport.Native/build/WixBuildTools.TestSupport.Native.targets b/src/internal/WixBuildTools.TestSupport.Native/build/WixBuildTools.TestSupport.Native.targets index 80b159ec..58475559 100644 --- a/src/internal/WixBuildTools.TestSupport.Native/build/WixBuildTools.TestSupport.Native.targets +++ b/src/internal/WixBuildTools.TestSupport.Native/build/WixBuildTools.TestSupport.Native.targets @@ -44,6 +44,8 @@ - + + + diff --git a/src/libs/libs.cmd b/src/libs/libs.cmd index 2cc56239..50a2db55 100644 --- a/src/libs/libs.cmd +++ b/src/libs/libs.cmd @@ -2,15 +2,16 @@ @pushd %~dp0 @set _C=Debug +@set _L=%~dp0..\..\build\logs :parse_args @if /i "%1"=="release" set _C=Release @if not "%1"=="" shift & goto parse_args @echo Building libs %_C% -msbuild -Restore libs_t.proj -p:Configuration=%_C% -nologo -m -warnaserror -bl:..\..\build\logs\libs_build.binlog || exit /b +msbuild -Restore libs_t.proj -p:Configuration=%_C% -nologo -m -warnaserror -bl:%_L%\libs_build.binlog || exit /b -msbuild dutil\test\DutilUnitTest -t:Test -p:Configuration=%_C% -nologo || exit /b +msbuild dutil\test\DutilUnitTest -t:Test -p:Configuration=%_C% -nologo -p:CppCliTestResultsFile="%_L%\TestResults\DutilUnitTest.xunit2.xml" || exit /b @popd @endlocal diff --git a/src/test/burn/test_burn.cmd b/src/test/burn/test_burn.cmd index 7caf1cc8..af930247 100644 --- a/src/test/burn/test_burn.cmd +++ b/src/test/burn/test_burn.cmd @@ -3,6 +3,7 @@ @set _RESULT=0 @set _C=Debug +@set _L=%~dp0..\..\..\build\logs :parse_args @if /i "%1"=="release" set _C=Release @if /i "%1"=="test" set RuntimeTestsEnabled=true @@ -10,20 +11,16 @@ @echo Burn integration tests %_C% -msbuild -t:Build -Restore -p:Configuration=%_C% -warnaserror -bl:..\..\..\build\logs\test_burn_build.binlog || exit /b -msbuild -t:Build -Restore -p:Configuration=%_C% TestData\TestData.proj -bl:..\..\..\build\logs\test_burn_data_build.binlog || exit /b +msbuild -t:Build -Restore -p:Configuration=%_C% -warnaserror -bl:%_L%\test_burn_build.binlog || exit /b +msbuild -t:Build -Restore -p:Configuration=%_C% TestData\TestData.proj -bl:%_L%\test_burn_data_build.binlog || exit /b @if not "%RuntimeTestsEnabled%"=="true" goto :LExit reg add HKLM\Software\Policies\Microsoft\Windows\Installer /t REG_SZ /v Logging /d voicewarmupx /f reg add HKLM\Software\WOW6432Node\Policies\Microsoft\Windows\Installer /t REG_SZ /v Logging /d voicewarmupx /f -dotnet test -c %_C% --no-build WixToolsetTest.BurnE2E -set _RESULT=%ERRORLEVEL% - -7z a "..\..\..\build\logs\test_burn_%GITHUB_RUN_ID%.zip" "%TEMP%\*.log" "%TEMP%\..\*.log" +dotnet test -c %_C% --no-build WixToolsetTest.BurnE2E -l "trx;LogFileName=%_L%\TestResults\WixToolsetTest.BurnE2E.trx" || exit /b :LExit @popd -exit /b %_RESULT% @endlocal diff --git a/src/test/test.cmd b/src/test/test.cmd index 9238cbfc..3158b2c2 100644 --- a/src/test/test.cmd +++ b/src/test/test.cmd @@ -2,6 +2,7 @@ @pushd %~dp0 @set _C=Debug +@set _L=%~dp0..\..\build\logs :parse_args @if /i "%1"=="release" set _C=Release @if /i "%1"=="test" set RuntimeTestsEnabled=true @@ -12,7 +13,7 @@ @call burn\test_burn.cmd %_C% %_T% || exit /b -dotnet test wix -c %_C% --nologo || exit /b +dotnet test wix -c %_C% --nologo -l "trx;LogFileName=%_L%\TestResults\WixToolsetTest.WixE2ETests.trx" || exit /b @popd @endlocal diff --git a/src/testresultfilelist.txt b/src/testresultfilelist.txt new file mode 100644 index 00000000..aa8d93e9 --- /dev/null +++ b/src/testresultfilelist.txt @@ -0,0 +1,16 @@ +build/logs/TestResults/api_wix.trx +build/logs/TestResults/BalUtilUnitTest.xunit2.xml +build/logs/TestResults/BextUtilUnitTest.xunit2.xml +build/logs/TestResults/BurnUnitTest.xunit2.xml +build/logs/TestResults/DutilUnitTest.xunit2.xml +build/logs/TestResults/WixToolsetTest.BuildTasks.trx +build/logs/TestResults/WixToolsetTest.BurnE2E.trx +build/logs/TestResults/WixToolsetTest.Converters.trx +build/logs/TestResults/WixToolsetTest.Converters.Symbolizer.trx +build/logs/TestResults/WixToolsetTest.Core.Burn.trx +build/logs/TestResults/WixToolsetTest.Core.Native.trx +build/logs/TestResults/WixToolsetTest.CoreIntegration.trx +build/logs/TestResults/WixToolsetTest.Heat.trx +build/logs/TestResults/WixToolsetTest.Mba.Core.trx +build/logs/TestResults/WixToolsetTest.Sdk.trx +build/logs/TestResults/WixToolsetTest.WixE2ETests.trx \ No newline at end of file diff --git a/src/wix/wix.cmd b/src/wix/wix.cmd index 7c4c1c18..98c0d580 100644 --- a/src/wix/wix.cmd +++ b/src/wix/wix.cmd @@ -2,6 +2,7 @@ @pushd %~dp0 @set _C=Debug +@set _L=%~dp0..\..\build\logs :parse_args @if /i "%1"=="release" set _C=Release @if not "%1"=="" shift & goto parse_args @@ -13,26 +14,26 @@ @echo Building wix %_C% :: Restore -msbuild -t:Restore wix.sln -p:Configuration=%_C% -nologo -m -warnaserror -bl:..\..\build\logs\wix_restore.binlog || exit /b +msbuild -t:Restore wix.sln -p:Configuration=%_C% -nologo -m -warnaserror -bl:%_L%\wix_restore.binlog || exit /b :: Build -msbuild wixnative\wixnative_t.proj -p:Configuration=%_C% -nologo -m -warnaserror -bl:..\..\build\logs\wixnative_build.binlog || exit /b +msbuild wixnative\wixnative_t.proj -p:Configuration=%_C% -nologo -m -warnaserror -bl:%_L%\wixnative_build.binlog || exit /b -msbuild wix.sln -p:Configuration=%_C% -nologo -m -warnaserror -bl:..\..\build\logs\wix_build.binlog || exit /b +msbuild wix.sln -p:Configuration=%_C% -nologo -m -warnaserror -bl:%_L%\wix_build.binlog || exit /b :: Pre-Publish Test -dotnet test -c %_C% --no-build --nologo test\WixToolsetTest.Converters || exit /b -dotnet test -c %_C% --no-build --nologo test\WixToolsetTest.Converters.Symbolizer || exit /b -dotnet test -c %_C% --no-build --nologo test\WixToolsetTest.Core.Burn || exit /b -dotnet test -c %_C% --no-build --nologo test\WixToolsetTest.Core.Native || exit /b -dotnet test -c %_C% --no-build --nologo test\WixToolsetTest.CoreIntegration || exit /b -dotnet test -c %_C% --no-build --nologo test\WixToolsetTest.Heat || exit /b +dotnet test -c %_C% --no-build --nologo test\WixToolsetTest.Converters -l "trx;LogFileName=%_L%\TestResults\WixToolsetTest.Converters.trx" || exit /b +dotnet test -c %_C% --no-build --nologo test\WixToolsetTest.Converters.Symbolizer -l "trx;LogFileName=%_L%\TestResults\WixToolsetTest.Converters.Symbolizer.trx" || exit /b +dotnet test -c %_C% --no-build --nologo test\WixToolsetTest.Core.Burn -l "trx;LogFileName=%_L%\TestResults\WixToolsetTest.Core.Burn.trx" || exit /b +dotnet test -c %_C% --no-build --nologo test\WixToolsetTest.Core.Native -l "trx;LogFileName=%_L%\TestResults\WixToolsetTest.Core.Native.trx" || exit /b +dotnet test -c %_C% --no-build --nologo test\WixToolsetTest.CoreIntegration -l "trx;LogFileName=%_L%\TestResults\WixToolsetTest.CoreIntegration.trx" || exit /b +dotnet test -c %_C% --no-build --nologo test\WixToolsetTest.Heat -l "trx;LogFileName=%_L%\TestResults\WixToolsetTest.Heat.trx" || exit /b :: Publish -msbuild publish_t.proj -p:Configuration=%_C% -nologo -warnaserror -bl:..\..\build\logs\wix_publish.binlog || exit /b +msbuild publish_t.proj -p:Configuration=%_C% -nologo -warnaserror -bl:%_L%\wix_publish.binlog || exit /b robocopy %_P_OBJ%\WixToolset.Sdk\separate\net472\x86\buildtasks %_P%\WixToolset.Sdk\tools\net472\x86 %_RCO% /XF Microsoft.Build.*.dll robocopy %_P_OBJ%\WixToolset.Sdk\separate\net472\x86\heat %_P%\WixToolset.Sdk\tools\net472\x86 %_RCO% @@ -46,15 +47,15 @@ robocopy %_P_OBJ%\WixToolset.Sdk\separate\netcoreapp3.1\buildtasks %_P%\WixTools robocopy %_P_OBJ%\WixToolset.Sdk\separate\netcoreapp3.1\heat %_P%\WixToolset.Sdk\tools\netcoreapp3.1 %_RCO% robocopy %_P_OBJ%\WixToolset.Sdk\separate\netcoreapp3.1\wix %_P%\WixToolset.Sdk\tools\netcoreapp3.1 %_RCO% -msbuild -t:Publish -p:Configuration=%_C% -nologo -warnaserror -p:PublishDir=%_P%WixToolset.Sdk\ WixToolset.Sdk\WixToolset.Sdk.csproj || exit /b +msbuild -t:Publish -p:Configuration=%_C% -nologo -warnaserror -p:PublishDir=%_P%WixToolset.Sdk\ WixToolset.Sdk\WixToolset.Sdk.csproj -bl:%_L%\wix_sdk_publish.binlog || exit /b :: TODO - used by MsbuildFixture.ReportsInnerExceptionForUnexpectedExceptions test :: msbuild -t:Publish -Restore -p:Configuration=%_C% -p:TargetFramework=net472 -p:RuntimeIdentifier=linux-x86 -p:PublishDir=%_P%WixToolset.Sdk\broken\net472\ wix\wix.csproj || exit /b :: Test -dotnet test -c %_C% --no-build --nologo test\WixToolsetTest.BuildTasks || exit /b -dotnet test -c %_C% --no-build --nologo test\WixToolsetTest.Sdk || exit /b +dotnet test -c %_C% --no-build --nologo test\WixToolsetTest.BuildTasks -l "trx;LogFileName=%_L%\TestResults\WixToolsetTest.BuildTasks.trx" || exit /b +dotnet test -c %_C% --no-build --nologo test\WixToolsetTest.Sdk -l "trx;LogFileName=%_L%\TestResults\WixToolsetTest.Sdk.trx" || exit /b :: Pack msbuild pack_t.proj -p:Configuration=%_C% -nologo -m -warnaserror -bl:..\..\build\logs\wix_pack.binlog || exit /b -- cgit v1.2.3-55-g6feb