blob: f8adf293bb2da680b81c07a678a45695ad42fc4b [file] [log] [blame]
Austin Schuhe89fa2d2019-08-14 20:24:23 -07001#!/bin/sh
2
Austin Schuh272c6132020-11-14 16:37:52 -08003PROJ_FILE=FlatBuffers.Test.csproj
4CORE_PROJ_FILE=FlatBuffers.Core.Test.csproj
Austin Schuhe89fa2d2019-08-14 20:24:23 -07005
Austin Schuh272c6132020-11-14 16:37:52 -08006TEMP_DOTNET_DIR=.dotnet_tmp
7TEMP_BIN=.tmp
8
9[ -d $TEMP_DOTNET_DIR ] || mkdir $TEMP_DOTNET_DIR
10
11[ -f dotnet-install.sh ] || curl -OL https://dot.net/v1/dotnet-install.sh
12
13./dotnet-install.sh --version latest --install-dir $TEMP_DOTNET_DIR
14
15DOTNET=$TEMP_DOTNET_DIR/dotnet
16
17$DOTNET new sln
18$DOTNET sln add $PROJ_FILE
19$DOTNET restore -r linux-x64 $PROJ_FILE
20
21# Testing C# on Linux using Mono.
22msbuild -property:Configuration=Release,OutputPath=$TEMP_BIN -verbosity:minimal $PROJ_FILE
23mono $TEMP_BIN/FlatBuffers.Test.exe
24rm -fr $TEMP_BIN
Austin Schuhe89fa2d2019-08-14 20:24:23 -070025
26# Repeat with unsafe versions
Austin Schuh272c6132020-11-14 16:37:52 -080027msbuild -property:Configuration=Release,UnsafeByteBuffer=true,OutputPath=$TEMP_BIN -verbosity:minimal $PROJ_FILE
28mono $TEMP_BIN/FlatBuffers.Test.exe
29rm -fr $TEMP_BIN
Austin Schuhe89fa2d2019-08-14 20:24:23 -070030
Austin Schuh272c6132020-11-14 16:37:52 -080031rm FlatBuffers.Test.sln
32rm -rf obj
Austin Schuhe89fa2d2019-08-14 20:24:23 -070033
Austin Schuh272c6132020-11-14 16:37:52 -080034$DOTNET new sln
35$DOTNET sln add $CORE_PROJ_FILE
36$DOTNET restore -r linux-x64 $CORE_PROJ_FILE
37
38# Testing C# on Linux using .Net Core.
39msbuild -property:Configuration=Release,OutputPath=$TEMP_BIN -verbosity:minimal $CORE_PROJ_FILE
40$TEMP_BIN/FlatBuffers.Core.Test.exe
41rm -fr $TEMP_BIN
42
43# Repeat with unsafe versions
44msbuild -property:Configuration=Release,UnsafeByteBuffer=true,OutputPath=$TEMP_BIN -verbosity:minimal $CORE_PROJ_FILE
45$TEMP_BIN/FlatBuffers.Core.Test.exe
46rm -fr $TEMP_BIN
47
48# Repeat with SpanT versions
49msbuild -property:Configuration=Release,EnableSpanT=true,OutputPath=$TEMP_BIN -verbosity:minimal $CORE_PROJ_FILE
50$TEMP_BIN/FlatBuffers.Core.Test.exe
51rm -fr $TEMP_BIN
52
53rm FlatBuffers.Core.Test.sln
54rm -rf obj