зеркало из https://github.com/dotnet/sdk.git
91 строка
1.9 KiB
Bash
91 строка
1.9 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
install=false
|
|
uninstall=false
|
|
run=false
|
|
# Default / LKG package version
|
|
packageVersion=2.1.400-preview-63001-03
|
|
tests=Build,Clean,Pack,Perf,Publish,Rebuild,Restore,ToolPack
|
|
additionalargs=()
|
|
|
|
packageSource=https://dotnet.myget.org/F/dotnet-cli/api/v3/index.json
|
|
|
|
while (($# > 0)); do
|
|
lowerI="$(echo "$1" | awk '{print tolower($0)}')"
|
|
case $lowerI in
|
|
--install)
|
|
install=true
|
|
shift 1
|
|
;;
|
|
--uninstall)
|
|
uninstall=true
|
|
shift 1
|
|
;;
|
|
--run)
|
|
run=true
|
|
shift 1
|
|
;;
|
|
--packageversion)
|
|
packageVersion=$2
|
|
shift 2
|
|
;;
|
|
--tests)
|
|
tests=$2
|
|
shift 2
|
|
;;
|
|
*)
|
|
additionalargs+=("$1")
|
|
shift 1
|
|
;;
|
|
esac
|
|
done
|
|
|
|
IFS=',' read -ra testsArray <<< "$tests"
|
|
|
|
if [ "$uninstall" = true ]; then
|
|
for name in "${testsArray[@]}"
|
|
do :
|
|
echo Uninstalling "$name"
|
|
dotnet tool uninstall -g "testSdk$name"
|
|
done
|
|
fi
|
|
|
|
if [ "$install" = true ]; then
|
|
for name in "${testsArray[@]}"
|
|
do :
|
|
echo Installing "$name"
|
|
dotnet tool install -g "testSdk$name" --version "$packageVersion" --add-source "$packageSource"
|
|
done
|
|
fi
|
|
|
|
if [ "$run" = true ]; then
|
|
failedTests=''
|
|
passed=true
|
|
for name in "${testsArray[@]}"
|
|
do :
|
|
echo Running "$name"
|
|
cmd="testSdk$name"
|
|
resultsFile="$name"
|
|
resultsFile+="results.xml"
|
|
|
|
set -- "${additionalargs[@]}" # restore positional parameters
|
|
"$cmd" -xml "$resultsFile" "$@"
|
|
|
|
lastexitcode=$?
|
|
if [[ $lastexitcode != 0 ]]; then
|
|
passed=false
|
|
if [[ -z "$failedTests" ]]; then
|
|
failedTests=$name
|
|
else
|
|
failedTests="$failedTests, $name"
|
|
fi
|
|
fi
|
|
done
|
|
|
|
if [ "$passed" = true ]; then
|
|
echo "Tests passed"
|
|
else
|
|
echo "Tests failed: $failedTests"
|
|
exit 1
|
|
fi
|
|
fi |