From 14a981fd1d92f261870d64435ed50e599747a323 Mon Sep 17 00:00:00 2001 From: Sergey Andreenko Date: Fri, 14 Jun 2019 18:19:13 -0700 Subject: [PATCH] abort build-tests if failed to restore stress dependencies (#25140) * abort build-tests if failed to restore stress dependencies * Fix arm condition. * Add arm64 condition. * Skip runtime dependencies for arm32/arm64. --- build-test.cmd | 4 ++++ build-test.sh | 6 +++++- tests/bringup_runtest.sh | 10 ++-------- tests/setup-stress-dependencies.cmd | 9 +++++++-- tests/setup-stress-dependencies.sh | 19 +++++++++++++++++-- 5 files changed, 35 insertions(+), 13 deletions(-) diff --git a/build-test.cmd b/build-test.cmd index 39c38d415e5f..e07c926d059b 100644 --- a/build-test.cmd +++ b/build-test.cmd @@ -180,6 +180,10 @@ REM === REM ========================================================================================= call "%__TestDir%\setup-stress-dependencies.cmd" /arch %__BuildArch% /outputdir %__BinDir% +if errorlevel 1 ( + echo %__MsgPrefix%Error: setup-stress-dependencies failed. + goto :Exit_Failure +) @if defined _echo @echo on REM ========================================================================================= diff --git a/build-test.sh b/build-test.sh index aa25c85bc661..65703d57bf3a 100755 --- a/build-test.sh +++ b/build-test.sh @@ -156,9 +156,13 @@ generate_layout() cp -r $__BinDir/* $CORE_ROOT/ > /dev/null if [ "$__BuildOS" != "OSX" ]; then - nextCommand="\"$__TestDir/setup-stress-dependencies.sh\" --outputDir=$CORE_ROOT" + nextCommand="\"$__TestDir/setup-stress-dependencies.sh\" --arch=$__BuildArch --outputDir=$CORE_ROOT" echo "Resolve runtime dependences via $nextCommand" eval $nextCommand + if [ $? != 0 ]; then + echo "${__MsgPrefix}Error: setup-stress-dependencies failed." + exit 1 + fi fi # Precompile framework assemblies with crossgen if required diff --git a/tests/bringup_runtest.sh b/tests/bringup_runtest.sh index cbaa4850e168..23b457624f0c 100755 --- a/tests/bringup_runtest.sh +++ b/tests/bringup_runtest.sh @@ -1451,14 +1451,8 @@ else load_failing_tests fi -# Other architectures are not supported yet. -if [ "$ARCH" == "x64" ] -then - scriptPath=$(dirname $0) - ${scriptPath}/setup-stress-dependencies.sh --outputDir=$coreOverlayDir -elif [ "$ARCH" != "arm64" ] && [ "$ARCH" != "arm" ]; then - echo "Skip preparing for GC stress test. Dependent package is not supported on this architecture." -fi +scriptPath=$(dirname $0) +${scriptPath}/setup-stress-dependencies.sh --arch=$ARCH --outputDir=$coreOverlayDir export __TestEnv=$testEnv diff --git a/tests/setup-stress-dependencies.cmd b/tests/setup-stress-dependencies.cmd index 78f81e9b15e4..02bedd26ca0f 100644 --- a/tests/setup-stress-dependencies.cmd +++ b/tests/setup-stress-dependencies.cmd @@ -36,10 +36,15 @@ if not defined __OutputDir goto Usage if not defined __Arch goto Usage REM Check if the platform is supported -if /i %__Arch% == "arm" ( +if /i "%__Arch%" == "arm" ( echo No runtime dependencies for Arm32. exit /b 0 - ) +) + +if /i "%__Arch%" == "arm64" ( + echo No runtime dependencies for Arm64. + exit /b 0 +) REM ========================================================================================= REM === diff --git a/tests/setup-stress-dependencies.sh b/tests/setup-stress-dependencies.sh index 65fb5637b3f4..a6465a94f663 100755 --- a/tests/setup-stress-dependencies.sh +++ b/tests/setup-stress-dependencies.sh @@ -16,9 +16,10 @@ function print_usage { echo '' echo 'Command line:' echo '' - echo './setup-gcstress.sh --outputDir=' + echo './setup-gcstress.sh --arch= --outputDir=' echo '' echo 'Required arguments:' + echo ' --arch= : Target arch for the build' echo ' --outputDir= : Directory to install libcoredistools.so' echo '' } @@ -55,6 +56,9 @@ do -v|--verbose) verbose=1 ;; + --arch=*) + __BuildArch=${i#*=} + ;; --outputDir=*) libInstallDir=${i#*=} ;; @@ -66,12 +70,23 @@ do esac done +if [ -z "$__BuildArch" ]; then + echo "--arch is required." + print_usage + exit_with_error 1 +fi + if [ -z "$libInstallDir" ]; then - echo "--libInstallDir is required." + echo "--outputDir is required." print_usage exit_with_error 1 fi +if [ "$__BuildArch" == "arm64" ] || [ "$__BuildArch" == "arm" ]; then + echo "No runtime dependencies for arm32/arm64" + exit $EXIT_CODE_SUCCESS +fi + # This script must be located in coreclr/tests. scriptDir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"