Files
graphene/Examples/python-simple/run-tests.sh
Michał Kowalczyk 8fdcecfd98 [Examples] python-simple: Fix test on debug builds
On debug builds, the standard output is littered with debug log from
graphene, so this likely never worked properly. This wasn't catched by
jenkins either.
2020-11-04 15:34:11 +01:00

32 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/env bash
set -e
# === hellworld ===
echo -e "\n\nRunning helloworld.py:"
./pal_loader python.manifest scripts/helloworld.py > OUTPUT
grep -q "Hello World" OUTPUT && echo "[ Success 1/3 ]"
rm OUTPUT
# === fibonacci ===
echo -e "\n\nRunning fibonacci.py:"
./pal_loader python.manifest scripts/fibonacci.py > OUTPUT
grep -q "fib2 55" OUTPUT && echo "[ Success 2/3 ]"
rm OUTPUT
# === web server and client (on port 8005) ===
echo -e "\n\nRunning HTTP server dummy-web-server.py in the background:"
./pal_loader python.manifest scripts/dummy-web-server.py 8005 & echo $! > server.PID
sleep 30 # Graphene-SGX takes a lot of time to initialize
echo -e "\n\nRunning HTTP client test-http.py:"
./pal_loader python.manifest scripts/test-http.py localhost 8005 > OUTPUT1
wget -q http://localhost:8005/ -O OUTPUT2
echo >> OUTPUT2 # include newline since wget doesn't add it
# check if all lines from OUTPUT2 are included in OUTPUT1
# TODO: simplify after fixing Graphene logging subsystem, which currently mixes its output with the
# application output.
diff OUTPUT1 OUTPUT2 | grep -q '^>' || echo "[ Success 3/3 ]"
kill "$(cat server.PID)"
rm -f OUTPUT1 OUTPUT2 server.PID