1*890232f2SAndroid Build Coastguard Worker#!/bin/sh 2*890232f2SAndroid Build Coastguard Worker 3*890232f2SAndroid Build Coastguard WorkerPROJ_FILE=FlatBuffers.Test.csproj 4*890232f2SAndroid Build Coastguard WorkerCORE_PROJ_FILE=FlatBuffers.Core.Test.csproj 5*890232f2SAndroid Build Coastguard Worker 6*890232f2SAndroid Build Coastguard WorkerTEMP_DOTNET_DIR=.dotnet_tmp 7*890232f2SAndroid Build Coastguard WorkerTEMP_BIN=.tmp 8*890232f2SAndroid Build Coastguard Worker 9*890232f2SAndroid Build Coastguard Worker[ -d $TEMP_DOTNET_DIR ] || mkdir $TEMP_DOTNET_DIR 10*890232f2SAndroid Build Coastguard Worker 11*890232f2SAndroid Build Coastguard Worker[ -f dotnet-install.sh ] || curl -OL https://dot.net/v1/dotnet-install.sh 12*890232f2SAndroid Build Coastguard Worker 13*890232f2SAndroid Build Coastguard Worker./dotnet-install.sh --version latest --install-dir $TEMP_DOTNET_DIR 14*890232f2SAndroid Build Coastguard Worker 15*890232f2SAndroid Build Coastguard WorkerDOTNET=$TEMP_DOTNET_DIR/dotnet 16*890232f2SAndroid Build Coastguard Worker 17*890232f2SAndroid Build Coastguard Worker$DOTNET new sln 18*890232f2SAndroid Build Coastguard Worker$DOTNET sln add $PROJ_FILE 19*890232f2SAndroid Build Coastguard Worker$DOTNET restore -r linux-x64 $PROJ_FILE 20*890232f2SAndroid Build Coastguard Worker 21*890232f2SAndroid Build Coastguard Worker# Testing C# on Linux using Mono. 22*890232f2SAndroid Build Coastguard Workermsbuild -property:Configuration=Release,OutputPath=$TEMP_BIN -verbosity:quiet $PROJ_FILE 23*890232f2SAndroid Build Coastguard Workermono $TEMP_BIN/FlatBuffers.Test.exe 24*890232f2SAndroid Build Coastguard Workerrm -fr $TEMP_BIN 25*890232f2SAndroid Build Coastguard Worker 26*890232f2SAndroid Build Coastguard Worker# Repeat with unsafe versions 27*890232f2SAndroid Build Coastguard Workermsbuild -property:Configuration=Release,UnsafeByteBuffer=true,OutputPath=$TEMP_BIN -verbosity:quiet $PROJ_FILE 28*890232f2SAndroid Build Coastguard Workermono $TEMP_BIN/FlatBuffers.Test.exe 29*890232f2SAndroid Build Coastguard Workerrm -fr $TEMP_BIN 30*890232f2SAndroid Build Coastguard Worker 31*890232f2SAndroid Build Coastguard Workerrm FlatBuffers.Test.sln 32*890232f2SAndroid Build Coastguard Workerrm -rf obj 33*890232f2SAndroid Build Coastguard Worker 34*890232f2SAndroid Build Coastguard Worker$DOTNET new sln 35*890232f2SAndroid Build Coastguard Worker$DOTNET sln add $CORE_PROJ_FILE 36*890232f2SAndroid Build Coastguard Worker$DOTNET restore -r linux-x64 $CORE_PROJ_FILE 37*890232f2SAndroid Build Coastguard Worker 38*890232f2SAndroid Build Coastguard Worker# Testing C# on Linux using .Net Core. 39*890232f2SAndroid Build Coastguard Workermsbuild -property:Configuration=Release,OutputPath=$TEMP_BIN -verbosity:quiet $CORE_PROJ_FILE 40*890232f2SAndroid Build Coastguard Worker$TEMP_BIN/FlatBuffers.Core.Test.exe 41*890232f2SAndroid Build Coastguard Workerrm -fr $TEMP_BIN 42*890232f2SAndroid Build Coastguard Worker 43*890232f2SAndroid Build Coastguard Worker# Repeat with unsafe versions 44*890232f2SAndroid Build Coastguard Workermsbuild -property:Configuration=Release,UnsafeByteBuffer=true,OutputPath=$TEMP_BIN -verbosity:quiet $CORE_PROJ_FILE 45*890232f2SAndroid Build Coastguard Worker$TEMP_BIN/FlatBuffers.Core.Test.exe 46*890232f2SAndroid Build Coastguard Workerrm -fr $TEMP_BIN 47*890232f2SAndroid Build Coastguard Worker 48*890232f2SAndroid Build Coastguard Worker# Repeat with SpanT versions 49*890232f2SAndroid Build Coastguard Workermsbuild -property:Configuration=Release,EnableSpanT=true,OutputPath=$TEMP_BIN -verbosity:quiet $CORE_PROJ_FILE 50*890232f2SAndroid Build Coastguard Worker$TEMP_BIN/FlatBuffers.Core.Test.exe 51*890232f2SAndroid Build Coastguard Workerrm -fr $TEMP_BIN 52*890232f2SAndroid Build Coastguard Worker 53*890232f2SAndroid Build Coastguard Workerrm FlatBuffers.Core.Test.sln 54*890232f2SAndroid Build Coastguard Workerrm -rf obj 55