summaryrefslogtreecommitdiffstats
path: root/src/zstd/contrib/single_file_libs/build_decoder_test.sh
diff options
context:
space:
mode:
Diffstat (limited to 'src/zstd/contrib/single_file_libs/build_decoder_test.sh')
-rwxr-xr-xsrc/zstd/contrib/single_file_libs/build_decoder_test.sh55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/zstd/contrib/single_file_libs/build_decoder_test.sh b/src/zstd/contrib/single_file_libs/build_decoder_test.sh
new file mode 100755
index 000000000..74e3f1c57
--- /dev/null
+++ b/src/zstd/contrib/single_file_libs/build_decoder_test.sh
@@ -0,0 +1,55 @@
+#!/bin/sh
+
+# Temporary compiled binary
+OUT_FILE="tempbin"
+
+# Optional temporary compiled WebAssembly
+OUT_WASM="temp.wasm"
+
+# Amalgamate the sources
+./create_single_file_decoder.sh
+# Did combining work?
+if [ $? -ne 0 ]; then
+ echo "Single file decoder creation script: FAILED"
+ exit 1
+fi
+echo "Single file decoder creation script: PASSED"
+
+# Compile the generated output
+cc -Wall -Wextra -Werror -Os -g0 -o $OUT_FILE examples/simple.c
+# Did compilation work?
+if [ $? -ne 0 ]; then
+ echo "Compiling simple.c: FAILED"
+ exit 1
+fi
+echo "Compiling simple.c: PASSED"
+
+# Run then delete the compiled output
+./$OUT_FILE
+retVal=$?
+rm -f $OUT_FILE
+# Did the test work?
+if [ $retVal -ne 0 ]; then
+ echo "Running simple.c: FAILED"
+ exit 1
+fi
+echo "Running simple.c: PASSED"
+
+# Is Emscripten available?
+which emcc > /dev/null
+if [ $? -ne 0 ]; then
+ echo "(Skipping Emscripten test)"
+else
+ # Compile the Emscripten example
+ CC_FLAGS="-Wall -Wextra -Werror -Os -g0 -flto --llvm-lto 3 -lGL -DNDEBUG=1"
+ emcc $CC_FLAGS -s WASM=1 -o $OUT_WASM examples/emscripten.c
+ # Did compilation work?
+ if [ $? -ne 0 ]; then
+ echo "Compiling emscripten.c: FAILED"
+ exit 1
+ fi
+ echo "Compiling emscripten.c: PASSED"
+ rm -f $OUT_WASM
+fi
+
+exit 0