compat.sh: function to start server
diff --git a/tests/compat.sh b/tests/compat.sh
index bc0a63f..77cd389 100755
--- a/tests/compat.sh
+++ b/tests/compat.sh
@@ -437,6 +437,32 @@
     esac
 }
 
+# start_server <name>
+# also saves name and command
+start_server() {
+    echo "-----------"
+
+    case $1 in
+        [Oo]pen*)
+            SERVER_CMD="$OPENSSL s_server $O_SERVER_ARGS"
+            ;;
+        [Pp]olar*)
+            SERVER_CMD="../programs/ssl/ssl_server2 $P_SERVER_ARGS"
+            ;;
+        *)
+            echo "error: invalid server name: $1" >&2
+            exit 1
+            ;;
+    esac
+    SERVER_NAME=$1
+
+    log "$SERVER_CMD"
+    $SERVER_CMD >/dev/null 2>&1 &
+    PROCESS_ID=$!
+
+    sleep 1
+}
+
 for VERIFY in $VERIFIES;
 do
 
@@ -445,7 +471,6 @@
 
 echo "-----------"
 echo "Running for $MODE (Verify: $VERIFY)"
-echo "-----------"
 
 for TYPE in $TYPES;
 do
@@ -453,11 +478,7 @@
 setup_arguments
 setup_ciphersuites
 
-log "$OPENSSL s_server $O_SERVER_ARGS"
-$OPENSSL s_server $O_SERVER_ARGS >/dev/null 2>&1 &
-PROCESS_ID=$!
-
-sleep 1
+start_server "OpenSSL"
 
 for i in $P_CIPHERS;
 do
@@ -465,7 +486,7 @@
     log "../programs/ssl/ssl_client2 $P_CLIENT_ARGS force_ciphersuite=$i"
     RESULT="$( ../programs/ssl/ssl_client2 $P_CLIENT_ARGS force_ciphersuite=$i )"
     EXIT=$?
-    echo -n "OpenSSL Server - PolarSSL Client - $i : $EXIT - "
+    echo -n "$SERVER_NAME Server - PolarSSL Client - $i : $EXIT - "
     if [ "$EXIT" = "2" ];
     then
         echo Ciphersuite not supported in client
@@ -473,7 +494,7 @@
     elif [ "$EXIT" != "0" ];
     then
         echo Failed
-        echo "$OPENSSL s_server $O_SERVER_ARGS"
+        echo "$SERVER_CMD"
         echo "ssl_client2 force_ciphersuite=$i $P_CLIENT_ARGS"
         echo $RESULT
         let "failed++"
@@ -484,11 +505,7 @@
 kill $PROCESS_ID 2>/dev/null
 wait $PROCESS_ID 2>/dev/null
 
-log "../programs/ssl/ssl_server2 $P_SERVER_ARGS > /dev/null"
-../programs/ssl/ssl_server2 $P_SERVER_ARGS > /dev/null &
-PROCESS_ID=$!
-
-sleep 1
+start_server "PolarSSL"
 
 for i in $O_CIPHERS;
 do
@@ -496,7 +513,7 @@
     log "$OPENSSL s_client $O_CLIENT_ARGS -cipher $i"
     RESULT="$( ( echo -e 'GET HTTP/1.0'; echo; sleep 1 ) | $OPENSSL s_client $O_CLIENT_ARGS -cipher $i 2>&1 )"
     EXIT=$?
-    echo -n "PolarSSL Server - OpenSSL Client - $i : $EXIT - "
+    echo -n "$SERVER_NAME Server - OpenSSL Client - $i : $EXIT - "
 
     if [ "$EXIT" != "0" ];
     then
@@ -507,7 +524,7 @@
             let "skipped++"
         else
             echo Failed
-            echo "ssl_server2 $P_SERVER_ARGS"
+            echo "$SERVER_CMD"
             echo "$OPENSSL s_client $O_CLIENT_ARGS -cipher $i"
             echo $RESULT
             let "failed++"
@@ -525,7 +542,7 @@
     log "../programs/ssl/ssl_client2 force_ciphersuite=$i $P_CLIENT_ARGS"
     RESULT="$( ../programs/ssl/ssl_client2 force_ciphersuite=$i $P_CLIENT_ARGS )"
     EXIT=$?
-    echo -n "PolarSSL Server - PolarSSL Client - $i : $EXIT - "
+    echo -n "$SERVER_NAME Server - PolarSSL Client - $i : $EXIT - "
     if [ "$EXIT" = "2" ];
     then
         echo Ciphersuite not supported in client
@@ -533,7 +550,7 @@
     elif [ "$EXIT" != "0" ];
     then
         echo Failed
-        echo "ssl_server2 $P_SERVER_ARGS"
+        echo "$SERVER_CMD"
         echo "ssl_client2 force_ciphersuite=$i $P_CLIENT_ARGS"
         echo $RESULT
         let "failed++"