diff --git a/eng/testing/RunnerTemplate.cmd b/eng/testing/RunnerTemplate.cmd index 0d898b4aa182a..fa39383ee81b1 100644 --- a/eng/testing/RunnerTemplate.cmd +++ b/eng/testing/RunnerTemplate.cmd @@ -44,8 +44,8 @@ set EXECUTION_DIR=%~dp0 :: Don't use a globally installed SDK. set DOTNET_MULTILEVEL_LOOKUP=0 -:: ========================= BEGIN Test Execution ============================= -echo ----- start %DATE% %TIME% =============== To repro directly: ===================================================== +:: ========================= BEGIN Test Execution ============================= +echo ----- start %DATE% %TIME% =============== To repro directly: ===================================================== echo pushd %EXECUTION_DIR% [[RunCommandsEcho]] echo popd @@ -54,13 +54,18 @@ pushd %EXECUTION_DIR% @echo on [[RunCommands]] @echo off +if exist testResults.xml ( + set "HAS_TEST_RESULTS=1" +) popd echo ----- end %DATE% %TIME% ----- exit code %ERRORLEVEL% ---------------------------------------------------------- :: The helix work item should not exit with non-zero if tests ran and produced results :: The special console runner for runtime returns 1 when tests fail if %ERRORLEVEL%==1 ( - if not "%HELIX_WORKITEM_PAYLOAD%"=="" ( - exit /b 0 + if %HAS_TEST_RESULTS%==1 ( + if not "%HELIX_WORKITEM_PAYLOAD%"=="" ( + exit /b 0 + ) ) ) exit /b %ERRORLEVEL% diff --git a/eng/testing/RunnerTemplate.sh b/eng/testing/RunnerTemplate.sh index c0f2362601fe3..ccf56442cf1c2 100644 --- a/eng/testing/RunnerTemplate.sh +++ b/eng/testing/RunnerTemplate.sh @@ -166,6 +166,9 @@ echo =========================================================================== pushd $EXECUTION_DIR [[RunCommands]] test_exitcode=$? +if [[ -f testResults.xml ]]; then + has_test_results=1; +fi; popd echo ----- end $(date) ----- exit code $test_exitcode ---------------------------------------------------------- @@ -230,7 +233,7 @@ popd >/dev/null # ======================== END Core File Inspection ========================== # The helix work item should not exit with non-zero if tests ran and produced results # The special console runner for runtime returns 1 when tests fail -if [[ "$test_exitcode" == "1" ]]; then +if [[ "$test_exitcode" == "1" && $has_test_results ]]; then if [ -n "$HELIX_WORKITEM_PAYLOAD" ]; then exit 0 fi