0eb285b1390805d7b0443f5266d6e658b5eefbb0
[tinc] / test / sptps-basic.test
1 #!/bin/sh
2
3 # shellcheck disable=SC1090
4 . "$TESTLIB_PATH"
5
6 echo [STEP] Skip this test if we did not compile sptps_test
7
8 test -e "$SPTPS_TEST" -a -e "$SPTPS_KEYPAIR_PATH" || exit "$EXIT_SKIP_TEST"
9
10 port=30080
11
12 server_priv="$DIR_FOO/server.priv"
13 client_priv="$DIR_FOO/client.priv"
14 server_pub="$DIR_FOO/server.pub"
15 client_pub="$DIR_FOO/client.pub"
16
17 echo [STEP] Generate keys
18
19 mkdir -p "$DIR_FOO"
20 "$SPTPS_KEYPAIR_PATH" "$server_priv" "$server_pub"
21 "$SPTPS_KEYPAIR_PATH" "$client_priv" "$client_pub"
22
23 echo [STEP] Test transfer of a simple file
24
25 reference=testlib.sh
26
27 (
28   sleep 3
29   "$SPTPS_TEST_PATH" -4 -q "$client_priv" "$server_pub" localhost $port <"$reference"
30 ) &
31
32 "$SPTPS_TEST_PATH" -4 "$server_priv" "$client_pub" $port >"$DIR_FOO/out1"
33 diff -w "$DIR_FOO/out1" "$reference"
34
35 "$SPTPS_TEST_PATH" -4 -q "$server_priv" "$client_pub" $port <"$reference" &
36 sleep 3
37 "$SPTPS_TEST_PATH" -4 "$client_priv" "$server_pub" localhost $port >"$DIR_FOO/out2"
38 diff -w "$DIR_FOO/out2" "$reference"
39
40 echo [STEP] Datagram mode
41
42 "$SPTPS_TEST_PATH" -4 -dq "$server_priv" "$client_pub" $port <"$reference" &
43 sleep 3
44 sleep 3 | "$SPTPS_TEST_PATH" -4 -dq "$client_priv" "$server_pub" localhost $port >"$DIR_FOO/out3"
45 diff -w "$DIR_FOO/out3" "$reference"