Fix running the test suite in out-of-tree builds.
[tinc] / test / sptps-basic.test
index 644a31e..87aee02 100755 (executable)
@@ -1,28 +1,45 @@
 #!/bin/sh
 
+# shellcheck source=testlib.sh
 . ./testlib.sh
 
-# Generate keys
+echo [STEP] Skip this test if we did not compile sptps_test
 
-mkdir -p $d1
+test -e "$SPTPS_TEST" -a -e "$SPTPS_KEYPAIR" || exit $EXIT_SKIP_TEST
 
-$sptps_keypair $d1/server.priv $d1/server.pub
-$sptps_keypair $d1/client.priv $d1/client.pub
+port=30080
 
-# Test transfer of a simple file.
+server_priv="$DIR_FOO/server.priv"
+client_priv="$DIR_FOO/client.priv"
+server_pub="$DIR_FOO/server.pub"
+client_pub="$DIR_FOO/client.pub"
 
-(sleep 1; $sptps_test -q $d1/client.priv $d1/server.pub localhost 32750 <../README) &
-$sptps_test $d1/server.priv $d1/client.pub 32750 >$d1/out1
-cmp $d1/out1 ../README
+echo [STEP] Generate keys
 
-$sptps_test -q $d1/server.priv $d1/client.pub 32750 <../NEWS &
-sleep 1
-$sptps_test $d1/client.priv $d1/server.pub localhost 32750 > $d1/out2
-cmp $d1/out2 ../NEWS
+mkdir -p "$DIR_FOO"
+$SPTPS_KEYPAIR "$server_priv" "$server_pub"
+$SPTPS_KEYPAIR "$client_priv" "$client_pub"
 
-# Datagram mode
+echo [STEP] Test transfer of a simple file
 
-$sptps_test -dq $d1/server.priv $d1/client.pub 32750 <../COPYING &
-sleep 1
-sleep 1 | $sptps_test -dq $d1/client.priv $d1/server.pub localhost 32750 >$d1/out3
-cmp $d1/out3 ../COPYING
+reference=testlib.sh
+
+(
+  sleep 3
+  $SPTPS_TEST -4 -q "$client_priv" "$server_pub" localhost $port <"$reference"
+) &
+
+$SPTPS_TEST -4 "$server_priv" "$client_pub" $port >"$DIR_FOO/out1"
+diff -w "$DIR_FOO/out1" "$reference"
+
+$SPTPS_TEST -4 -q "$server_priv" "$client_pub" $port <"$reference" &
+sleep 3
+$SPTPS_TEST -4 "$client_priv" "$server_pub" localhost $port >"$DIR_FOO/out2"
+diff -w "$DIR_FOO/out2" "$reference"
+
+echo [STEP] Datagram mode
+
+$SPTPS_TEST -4 -dq "$server_priv" "$client_pub" $port <"$reference" &
+sleep 3
+sleep 3 | $SPTPS_TEST -4 -dq "$client_priv" "$server_pub" localhost $port >"$DIR_FOO/out3"
+diff -w "$DIR_FOO/out3" "$reference"