summaryrefslogtreecommitdiff
path: root/tests/14_socket_diff.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tests/14_socket_diff.sh')
-rwxr-xr-xtests/14_socket_diff.sh18
1 files changed, 12 insertions, 6 deletions
diff --git a/tests/14_socket_diff.sh b/tests/14_socket_diff.sh
index 9cf9195..d7d393f 100755
--- a/tests/14_socket_diff.sh
+++ b/tests/14_socket_diff.sh
@@ -13,15 +13,21 @@ TEST_TOOLS=$3
# sockets can't be changed sensibly, test that it hasn't been
SOCKBIND=`mktemp`
-setup () {
+setup_origin () {
gcc sockbind.c -o $SOCKBIND 2>/dev/null >/dev/null
$SOCKBIND "$ORIGIN/tochange" &
- SOCKBINDPID1=$!
+ SOCKBINDPID=$!
+ until test -S "$ORIGIN/tochange"; do :; done
+ kill $SOCKBINDPID
+ wait $SOCKBINDPID 2>/dev/null || true #wait returns false
+}
+
+setup_target () {
$SOCKBIND "$TARGET/tochange" &
- SOCKBINDPID2=$!
- until test -S "$TARGET/tochange" -a -S "$ORIGIN/tochange"; do :; done
- kill $SOCKBINDPID1 $SOCKBINDPID2 &&
- wait $SOCKBINDPID1 $SOCKBINDPID2 2>/dev/null #surpress terminated output
+ SOCKBINDPID=$!
+ until test -S "$TARGET/tochange"; do :; done
+ kill $SOCKBINDPID &&
+ wait $SOCKBINDPID 2>/dev/null #surpress terminated output
rm -f $SOCKBIND
}