compat.sh: never kill our server
diff --git a/tests/compat.sh b/tests/compat.sh
index 2be70c4..860858c 100755
--- a/tests/compat.sh
+++ b/tests/compat.sh
@@ -74,8 +74,8 @@
     NEW_LIST="$NEW_LIST $( echo "$i" | grep "$FILTER" )"
   done
 
-  # make sure the list is actually empty if it contains only whitespace
-  echo "$NEW_LIST" | sed -e 's/^[[:space:]]*//'
+  # normalize whitespace
+  echo "$NEW_LIST" | sed -e 's/[[:space:]]\+/ /g' -e 's/^ //' -e 's/ $//'
 }
 
 setup_ciphersuites()
@@ -463,16 +463,20 @@
     sleep 1
 }
 
-# terminate the running server (try closing it cleanly if possible)
+# terminate the running server (closing it cleanly if it is ours)
 stop_server() {
     case $SERVER_NAME in
         [Pp]olar*)
-            echo SERVERQUIT | $OPENSSL s_client $O_CLIENT_ARGS >/dev/null 2>&1
-            sleep 1
+            # we must force a PSK suite when in PSK mode (otherwise client
+            # auth will fail), so use $O_CIPHERS
+            CS=$( echo "$O_CIPHERS" | tr ' ' ':' )
+            echo SERVERQUIT | \
+                $OPENSSL s_client $O_CLIENT_ARGS -cipher "$CS" >/dev/null 2>&1
             ;;
+        *)
+            kill $PROCESS_ID 2>/dev/null
     esac
 
-    kill $PROCESS_ID 2>/dev/null
     wait $PROCESS_ID 2>/dev/null
     rm -f srv_out
 }