Skip to content

Commit

Permalink
Fix unfailing helix test run when testResults.xml are missing (#86342)
Browse files Browse the repository at this point in the history
* Attempt to fix unfailing helix test run when testResults.xml are missing

* Feedback and docker image attemted fix

* Commenting out RHEL7 for a test run to see if there are any remaining problems elsewhere

* AlmaLinux 8 instead of RHEL7

* Test docker image

* Kdepak asi soudruzi udelali chybu

* Fixed docker from centos stream 9 to 8

* Test with different Queue

* Fixed docker image name
  • Loading branch information
ManickaP authored May 29, 2023
1 parent 93da0c9 commit 75d4283
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 8 deletions.
6 changes: 3 additions & 3 deletions eng/pipelines/libraries/helix-queues-setup.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,8 @@ jobs:
- ${{ if eq(parameters.platform, 'linux_x64') }}:
- ${{ if and(eq(parameters.jobParameters.interpreter, ''), ne(parameters.jobParameters.isSingleFile, true)) }}:
- ${{ if and(eq(parameters.jobParameters.testScope, 'outerloop'), eq(parameters.jobParameters.runtimeFlavor, 'mono')) }}:
- RedHat.7.Amd64.Open
- SLES.15.Amd64.Open
- (Centos.8.Amd64.Open)[email protected]/dotnet-buildtools/prereqs:centos-stream8-helix
- (Fedora.36.Amd64.Open)[email protected]/dotnet-buildtools/prereqs:fedora-36-helix
- (Ubuntu.2204.Amd64.Open)[email protected]/dotnet-buildtools/prereqs:ubuntu-22.04-helix-amd64
- (Debian.10.Amd64.Open)[email protected]/dotnet-buildtools/prereqs:debian-10-helix-amd64
Expand All @@ -77,8 +77,8 @@ jobs:
- (Mariner.2.0.Amd64.Open)[email protected]/dotnet-buildtools/prereqs:cbl-mariner-2.0-helix-amd64
- (openSUSE.15.2.Amd64.Open)[email protected]/dotnet-buildtools/prereqs:opensuse-15.2-helix-amd64
- ${{ if or(ne(parameters.jobParameters.isExtraPlatforms, true), eq(parameters.jobParameters.includeAllPlatforms, true)) }}:
- (Centos.7.Amd64.Open)[email protected]/dotnet-buildtools/prereqs:centos-7-mlnet-helix
- RedHat.7.Amd64.Open
- (Centos.8.Amd64.Open)[email protected]/dotnet-buildtools/prereqs:centos-stream8-helix
- (AlmaLinux.8.Amd64.Open)RedHat.7.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:almalinux-8-helix-amd64
- (Debian.10.Amd64.Open)[email protected]/dotnet-buildtools/prereqs:debian-10-helix-amd64
- Ubuntu.1804.Amd64.Open
- ${{ if or(eq(parameters.jobParameters.interpreter, 'true'), eq(parameters.jobParameters.isSingleFile, true)) }}:
Expand Down
13 changes: 9 additions & 4 deletions eng/testing/RunnerTemplate.cmd
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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%
Expand Down
5 changes: 4 additions & 1 deletion eng/testing/RunnerTemplate.sh
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,9 @@ echo ===========================================================================
pushd $EXECUTION_DIR
[[RunCommands]]
test_exitcode=$?
if [[ -s testResults.xml ]]; then
has_test_results=1;
fi;
popd
echo ----- end $(date) ----- exit code $test_exitcode ----------------------------------------------------------

Expand Down Expand Up @@ -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" == "1" ]]; then
if [ -n "$HELIX_WORKITEM_PAYLOAD" ]; then
exit 0
fi
Expand Down

0 comments on commit 75d4283

Please sign in to comment.