Improve failure detection in the test suite.
authorKirill Isakov <is-kir@ya.ru>
Sat, 14 Aug 2021 18:58:55 +0000 (00:58 +0600)
committerKirill Isakov <is-kir@ya.ru>
Sat, 14 Aug 2021 18:58:55 +0000 (00:58 +0600)
.builds/freebsd.yml
test/compression.test
test/testlib.sh.in

index 26829cc..a52803b 100644 (file)
@@ -1,6 +1,7 @@
 image: freebsd/13.x
 
 packages:
+  - coreutils
   - autotools
   - openssl
   - lzo2
index 7c69c2c..f0952a4 100755 (executable)
@@ -106,13 +106,13 @@ for level in $levels; do
   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
 
-  wait
   diff -w "$ref_file" "$tmp_file"
 
   tinc foo stop
index 047db87..c63d27d 100644 (file)
@@ -185,21 +185,11 @@ expect_code() {
 # Runs its arguments with timeout(1) or gtimeout(1) if either are installed.
 # Usage: try_limit_time 10 command --with --args
 if type timeout >/dev/null; then
-  if is_busybox; then
-    # busybox does not support --foreground
-    try_limit_time() {
-      time=$1
-      shift
-      timeout "$time" "$@"
-    }
-  else
-    # BSD and GNU timeout do not require special handling
-    try_limit_time() {
-      time=$1
-      shift
-      timeout --foreground "$time" "$@"
-    }
-  fi
+  try_limit_time() {
+    time=$1
+    shift
+    timeout "$time" "$@"
+  }
 else
   try_limit_time() {
     echo >&2 "timeout was not found, running without time limits!"