Merge pull request #4109 from gilles-peskine-arm/ssl-opt-server-failure-development

ssl-opt.sh: if the server fails, do treat it as a test failure
diff --git a/tests/ssl-opt.sh b/tests/ssl-opt.sh
index fcd73f2..0695030 100755
--- a/tests/ssl-opt.sh
+++ b/tests/ssl-opt.sh
@@ -770,6 +770,7 @@
         # terminate the server (and the proxy)
         kill $SRV_PID
         wait $SRV_PID
+        SRV_RET=$?
 
         if [ -n "$PXY_CMD" ]; then
             kill $PXY_PID >/dev/null 2>&1
@@ -803,9 +804,11 @@
         fi
     fi
 
-    # check server exit code
-    if [ $? != 0 ]; then
-        fail "server fail"
+    # Check server exit code (only for Mbed TLS: GnuTLS and OpenSSL don't
+    # exit with status 0 when interrupted by a signal, and we don't really
+    # care anyway), in case e.g. the server reports a memory leak.
+    if [ $SRV_RET != 0 ] && is_polar "$SRV_CMD"; then
+        fail "Server exited with status $SRV_RET"
         return
     fi