dotnet-installer/scripts/test/package-command-test.sh

67 lines
2.2 KiB
Bash
Raw Normal View History

2016-01-06 10:27:16 +00:00
#!/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"
2016-01-11 05:44:30 +00:00
dotnet pack "$REPOROOT/test/PackagedCommands/Commands/dotnet-hello/v1/dotnet-hello"
cp "$REPOROOT/test/PackagedCommands/Commands/dotnet-hello/v1/dotnet-hello/bin/Debug/"*.nupkg "$REPOROOT/artifacts/packages"
dotnet pack "$REPOROOT/test/PackagedCommands/Commands/dotnet-hello/v2/dotnet-hello"
cp "$REPOROOT/test/PackagedCommands/Commands/dotnet-hello/v2/dotnet-hello/bin/Debug/"*.nupkg "$REPOROOT/artifacts/packages"
2016-01-06 10:27:16 +00:00
# enable restore for test projects
2016-01-10 20:53:16 +00:00
for test in $(ls -l "$REPOROOT/test/PackagedCommands/Consumers" | grep ^d | awk '{print $9}' | grep "AppWith")
2016-01-06 10:27:16 +00:00
do
pushd "$REPOROOT/test/PackagedCommands/Consumers/$test"
cp "project.json.template" "project.json"
popd
done
# restore test projects
pushd "$REPOROOT/test/PackagedCommands/Consumers"
dotnet restore -s "$REPOROOT/artifacts/packages" --no-cache --ignore-failed-sources --parallel
popd
#compile tests with direct dependencies
2016-01-10 20:53:16 +00:00
for test in $(ls -l "$REPOROOT/test/PackagedCommands/Consumers" | grep ^d | awk '{print $9}' | grep "Direct")
2016-01-06 10:27:16 +00:00
do
pushd "$REPOROOT/test/PackagedCommands/Consumers/$test"
dotnet compile
popd
done
#run test
2016-01-10 20:53:16 +00:00
for test in $(ls -l "$REPOROOT/test/PackagedCommands/Consumers" | grep ^d | awk '{print $9}' | grep "AppWith")
2016-01-06 10:27:16 +00:00
do
testName="test/PackagedCommands/Consumers/$test"
pushd "$REPOROOT/$testName"
output=$(dotnet hello)
rm "project.json"
2016-01-10 20:53:16 +00:00
if [ "$output" == "Hello" ] ;
2016-01-06 10:27:16 +00:00
then
2016-01-10 20:53:16 +00:00
echo "Test Passed: $testName"
else
2016-01-06 10:27:16 +00:00
error "Test Failed: $testName/dotnet hello"
2016-01-10 20:53:16 +00:00
error " printed $output"
2016-01-06 10:27:16 +00:00
exit 1
fi
popd
2016-01-11 05:44:30 +00:00
done