. ./testlib.sh
-test "$(id -u)" = "0" || exit $EXIT_SKIP_TEST
+require_root "$0" "$@"
test -e /dev/net/tun || exit $EXIT_SKIP_TEST
ip netns list || exit $EXIT_SKIP_TEST
command -v socat || exit $EXIT_SKIP_TEST
wait_script foo hosts/bar-up
wait_script bar hosts/foo-up
- ip netns exec foo \
- socat -u TCP4-LISTEN:$recv_port_foo,reuseaddr OPEN:"$tmp_file",creat &
-
- ip netns exec bar \
- socat -u OPEN:"$ref_file" TCP4:$ip_foo:$recv_port_foo,retry=30
+ try_limit_time 60 sh <<EOF
+ set -eu
+ ip netns exec foo socat -u TCP4-LISTEN:$recv_port_foo,reuseaddr OPEN:"$tmp_file",creat &
+ ip netns exec bar socat -u OPEN:"$ref_file" TCP4:$ip_foo:$recv_port_foo,retry=30 &
+ wait
+EOF
diff -w "$ref_file" "$tmp_file"
echo "[STEP] Testing bogus compression level $level"
tinc foo set Compression "$level"
- output=$(must_fail start_tinc foo 2>&1)
+ output=$(expect_code "$EXIT_FAILURE" start_tinc foo 2>&1)
if ! echo "$output" | grep -q 'Bogus compression level'; then
bail 'expected message about the wrong compression level'