55 lines
1.5 KiB
Bash
Executable File
55 lines
1.5 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
PROJ_FILE=FlatBuffers.Test.csproj
|
|
CORE_PROJ_FILE=FlatBuffers.Core.Test.csproj
|
|
|
|
TEMP_DOTNET_DIR=.dotnet_tmp
|
|
TEMP_BIN=.tmp
|
|
|
|
[ -d $TEMP_DOTNET_DIR ] || mkdir $TEMP_DOTNET_DIR
|
|
|
|
[ -f dotnet-install.sh ] || curl -OL https://dot.net/v1/dotnet-install.sh
|
|
|
|
./dotnet-install.sh --version latest --install-dir $TEMP_DOTNET_DIR
|
|
|
|
DOTNET=$TEMP_DOTNET_DIR/dotnet
|
|
|
|
$DOTNET new sln
|
|
$DOTNET sln add $PROJ_FILE
|
|
$DOTNET restore -r linux-x64 $PROJ_FILE
|
|
|
|
# Testing C# on Linux using Mono.
|
|
msbuild -property:Configuration=Release,OutputPath=$TEMP_BIN -verbosity:minimal $PROJ_FILE
|
|
mono $TEMP_BIN/FlatBuffers.Test.exe
|
|
rm -fr $TEMP_BIN
|
|
|
|
# Repeat with unsafe versions
|
|
msbuild -property:Configuration=Release,UnsafeByteBuffer=true,OutputPath=$TEMP_BIN -verbosity:minimal $PROJ_FILE
|
|
mono $TEMP_BIN/FlatBuffers.Test.exe
|
|
rm -fr $TEMP_BIN
|
|
|
|
rm FlatBuffers.Test.sln
|
|
rm -rf obj
|
|
|
|
$DOTNET new sln
|
|
$DOTNET sln add $CORE_PROJ_FILE
|
|
$DOTNET restore -r linux-x64 $CORE_PROJ_FILE
|
|
|
|
# Testing C# on Linux using .Net Core.
|
|
msbuild -property:Configuration=Release,OutputPath=$TEMP_BIN -verbosity:minimal $CORE_PROJ_FILE
|
|
$TEMP_BIN/FlatBuffers.Core.Test.exe
|
|
rm -fr $TEMP_BIN
|
|
|
|
# Repeat with unsafe versions
|
|
msbuild -property:Configuration=Release,UnsafeByteBuffer=true,OutputPath=$TEMP_BIN -verbosity:minimal $CORE_PROJ_FILE
|
|
$TEMP_BIN/FlatBuffers.Core.Test.exe
|
|
rm -fr $TEMP_BIN
|
|
|
|
# Repeat with SpanT versions
|
|
msbuild -property:Configuration=Release,EnableSpanT=true,OutputPath=$TEMP_BIN -verbosity:minimal $CORE_PROJ_FILE
|
|
$TEMP_BIN/FlatBuffers.Core.Test.exe
|
|
rm -fr $TEMP_BIN
|
|
|
|
rm FlatBuffers.Core.Test.sln
|
|
rm -rf obj
|