dotnet-installer/scripts/test/runtests.sh
Bryan 4c41c9699c Last necessary test changes
Fix the refactoring bugs

fix restore

downgrade version of package command test

Linux Test Script Fixes

use corehost instead of corerun for arg testing

don't copy corehost

fix scripts

Account for change in publish path, use corerun. Issue with AppContext.BaseDirectory in corehost.

Case Sensitive Reflector

wait for process exit

Fix bug in runtests.ps1

fix release build output path

fixup bug in runtests.sh
2016-01-23 14:32:50 -08:00

84 lines
2 KiB
Bash
Executable file

#!/usr/bin/env bash
#
# Copyright (c) .NET Foundation and contributors. All rights reserved.
# Licensed under the MIT license. See LICENSE file in the project root for full license information.
#
set -e
SOURCE="${BASH_SOURCE[0]}"
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
SOURCE="$(readlink "$SOURCE")"
[[ "$SOURCE" != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
done
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
source "$DIR/../common/_common.sh"
TestBinRoot="$REPOROOT/artifacts/tests"
TestProjects=( \
E2E \
StreamForwarderTests \
Microsoft.DotNet.Tools.Publish.Tests \
Microsoft.DotNet.Tools.Compiler.Tests \
Microsoft.DotNet.Tools.Builder.Tests \
)
TestScripts=( \
"package-command-test.sh" \
"argument-forwarding-tests.sh" \
)
for project in ${TestProjects[@]}
do
dotnet publish --framework "dnxcore50" --output "$TestBinRoot" --configuration "$CONFIGURATION" "$REPOROOT/test/$project"
done
if [ -d "$TestBinRoot/$CONFIGURATION/dnxcore50" ]
then
cp -R -f $TestBinRoot/$CONFIGURATION/dnxcore50/* $TestBinRoot
fi
# copy TestProjects folder which is used by the test cases
mkdir -p "$TestBinRoot/TestProjects"
cp -a $REPOROOT/test/TestProjects/* $TestBinRoot/TestProjects
pushd "$TestBinRoot"
set +e
failedTests=()
failCount=0
for project in ${TestProjects[@]}
do
./corerun "xunit.console.netcore.exe" "$project.dll" -xml "${project}-testResults.xml" -notrait category=failing
exitCode=$?
failCount+=$exitCode
if [ $exitCode -ne 0 ]; then
failedTests+=("${project}.dll")
fi
done
for script in ${TestScripts[@]}
do
"$REPOROOT/scripts/test/$script"
exitCode=$?
if [ $exitCode -ne 0 ]; then
failedTests+=($script)
failCount+=1
fi
done
for test in ${failedTests[@]}
do
error "$test failed. Logs in '$TestBinRoot/${test}-testResults.xml'"
done
popd
set -e
exit $failCount