mirror of
https://github.com/Prowlarr/Prowlarr.git
synced 2026-03-05 13:40:08 -05:00
New: Build on Azure Pipeline
Co-Authored-By: ta264 <ta264@users.noreply.github.com>
This commit is contained in:
60
test.sh
60
test.sh
@@ -1,24 +1,48 @@
|
||||
#! /bin/bash
|
||||
PLATFORM=$1
|
||||
TYPE=$2
|
||||
COVERAGE=$3
|
||||
WHERE="cat != ManualTest"
|
||||
TEST_DIR="."
|
||||
TEST_PATTERN="*Test.dll"
|
||||
ASSEMBLIES=""
|
||||
TEST_LOG_FILE="TestLog.txt"
|
||||
|
||||
echo "test dir: $TEST_DIR"
|
||||
if [ -z "$TEST_DIR" ]; then
|
||||
TEST_DIR="."
|
||||
fi
|
||||
|
||||
if [ -d "$TEST_DIR/_tests" ]; then
|
||||
TEST_DIR="$TEST_DIR/_tests"
|
||||
fi
|
||||
|
||||
NUNIT="$TEST_DIR/NUnit.ConsoleRunner.3.9.0/tools/nunit3-console.exe"
|
||||
COVERAGE_RESULT_DIRECTORY="$TEST_DIR/CoverageResults/"
|
||||
|
||||
rm -f "$TEST_LOG_FILE"
|
||||
|
||||
# Uncomment to log test output to a file instead of the console
|
||||
export RADARR_TESTS_LOG_OUTPUT="File"
|
||||
|
||||
NUNIT="$TEST_DIR/NUnit.ConsoleRunner.3.10.0/tools/nunit3-console.exe"
|
||||
NUNIT_COMMAND="$NUNIT"
|
||||
NUNIT_PARAMS="--result=$TEST_DIR/reports/junit/results-$TYPE.xml;transform=.circleci/nunit3-junit.xslt --agents=12 --config=Debug"
|
||||
NUNIT_PARAMS="--workers=1"
|
||||
|
||||
if [ "$PLATFORM" = "Mac" ]; then
|
||||
|
||||
export DYLD_FALLBACK_LIBRARY_PATH="$TEST_DIR:/usr/local/lib:/lib:/usr/lib"
|
||||
echo $LD_LIBRARY_PATH
|
||||
echo $DYLD_LIBRARY_PATH
|
||||
echo $DYLD_FALLBACK_LIBRARY_PATH
|
||||
|
||||
# To debug which libraries are being loaded:
|
||||
# export DYLD_PRINT_LIBRARIES=YES
|
||||
fi
|
||||
|
||||
if [ "$PLATFORM" = "Windows" ]; then
|
||||
mkdir -p "$ProgramData/Radarr"
|
||||
WHERE="$WHERE && cat != LINUX"
|
||||
elif [ "$PLATFORM" = "Linux" ]; then
|
||||
WHERE="$WHERE && cat != WINDOWS"
|
||||
NUNIT_COMMAND="mono --debug $NUNIT"
|
||||
elif [ "$PLATFORM" = "Mac" ]; then
|
||||
elif [ "$PLATFORM" = "Linux" ] || [ "$PLATFORM" = "Mac" ] ; then
|
||||
mkdir -p ~/.config/Radarr
|
||||
WHERE="$WHERE && cat != WINDOWS"
|
||||
NUNIT_COMMAND="mono --debug --runtime=v4.0 $NUNIT"
|
||||
else
|
||||
@@ -41,12 +65,28 @@ for i in `find $TEST_DIR -name "$TEST_PATTERN"`;
|
||||
do ASSEMBLIES="$ASSEMBLIES $i"
|
||||
done
|
||||
|
||||
$NUNIT_COMMAND --where "$WHERE" $NUNIT_PARAMS $ASSEMBLIES;
|
||||
EXIT_CODE=$?
|
||||
if [ "$COVERAGE" = "Coverage" ]; then
|
||||
if [ "$PLATFORM" = "Windows" ] || [ "$PLATFORM" = "Linux" ]; then
|
||||
dotnet tool install coverlet.console --tool-path="$TEST_DIR/coverlet/"
|
||||
mkdir $COVERAGE_RESULT_DIRECTORY
|
||||
OPEN_COVER="$TEST_DIR/coverlet/coverlet"
|
||||
$OPEN_COVER "$TEST_DIR/" --verbosity "detailed" --format "cobertura" --format "opencover" --output "$COVERAGE_RESULT_DIRECTORY" --exclude "[Radarr.*.Test]*" --exclude "[Radarr.Test.*]*" --exclude "[Radarr.Api*]*" --exclude "[Marr.Data]*" --exclude "[MonoTorrent]*" --exclude "[CurlSharp]*" --target "$NUNIT" --targetargs "$NUNIT_PARAMS --where=\"$WHERE\" $ASSEMBLIES";
|
||||
EXIT_CODE=$?
|
||||
else
|
||||
echo "Coverage only supported on Windows and Linux"
|
||||
exit 3
|
||||
fi
|
||||
elif [ "$COVERAGE" = "Test" ] ; then
|
||||
$NUNIT_COMMAND --where "$WHERE" $NUNIT_PARAMS $ASSEMBLIES;
|
||||
EXIT_CODE=$?
|
||||
else
|
||||
echo "Run Type must be provided as third argument: Coverage or Test"
|
||||
exit 3
|
||||
fi
|
||||
|
||||
if [ "$EXIT_CODE" -ge 0 ]; then
|
||||
echo "Failed tests: $EXIT_CODE"
|
||||
exit $EXIT_CODE
|
||||
exit 0
|
||||
else
|
||||
exit $EXIT_CODE
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user