diff --git a/test/zdtm.sh b/test/zdtm.sh index 22b644639..f4229f182 100644 --- a/test/zdtm.sh +++ b/test/zdtm.sh @@ -39,6 +39,7 @@ static/utsname IPC_TEST_LIST=" static/ipc_namespace +static/shm " CRTOOLS=`pwd`/`dirname $0`/../crtools @@ -64,16 +65,9 @@ run_test() echo Dump $pid mkdir -p $ddump - setsid $CRTOOLS dump -D $ddump -o dump.log -t $pid $args - ret=$? - while :; do - killall -9 $tname &> /dev/null || break - echo Waiting... - sleep 1 - done - [ "$ret" -eq 0 ] || return 1 + setsid $CRTOOLS dump -D $ddump -o dump.log -t $pid $args $ARGS || return 1; - if expr "$args" : ' -s'; then + if expr " $ARGS" : ' -s'; then killall -CONT $tname else while :; do @@ -122,7 +116,6 @@ if [ "$1" == "-d" ]; then fi if [ $# -eq 0 ]; then - ARGS=$1 for t in $TEST_LIST; do run_test $t || case_error $t done diff --git a/test/zdtm/live/static/msgque.c b/test/zdtm/live/static/msgque.c index e56ac8db4..2fe53a36c 100644 --- a/test/zdtm/live/static/msgque.c +++ b/test/zdtm/live/static/msgque.c @@ -59,7 +59,7 @@ static int test_fn(int argc, char **argv) if (pid == 0) { test_waitsig(); - if (msgrcv(msg, &msgbuf, sizeof(TEST_STRING), MSG_TYPE, 0) == -1) { + if (msgrcv(msg, &msgbuf, sizeof(TEST_STRING), MSG_TYPE, IPC_NOWAIT) == -1) { fail("Child: msgrcv failed (%m)"); return -errno; } @@ -72,7 +72,7 @@ static int test_fn(int argc, char **argv) msgbuf.mtype = ANOTHER_MSG_TYPE; memcpy(msgbuf.mtext, ANOTHER_TEST_STRING, sizeof(ANOTHER_TEST_STRING)); - if (msgsnd(msg, &msgbuf, sizeof(ANOTHER_TEST_STRING), 0) != 0) { + if (msgsnd(msg, &msgbuf, sizeof(ANOTHER_TEST_STRING), IPC_NOWAIT) != 0) { fail("Child: msgsnd failed (%m)"); return -errno; }; @@ -81,7 +81,7 @@ static int test_fn(int argc, char **argv) } else { msgbuf.mtype = MSG_TYPE; memcpy(msgbuf.mtext, TEST_STRING, sizeof(TEST_STRING)); - if (msgsnd(msg, &msgbuf, sizeof(TEST_STRING), 0) != 0) { + if (msgsnd(msg, &msgbuf, sizeof(TEST_STRING), IPC_NOWAIT) != 0) { fail("Parent: msgsnd failed (%m)"); goto err_kill; }; @@ -99,7 +99,7 @@ static int test_fn(int argc, char **argv) goto out; } - if (msgrcv(msg, &msgbuf, sizeof(ANOTHER_TEST_STRING), ANOTHER_MSG_TYPE, 0) == -1) { + if (msgrcv(msg, &msgbuf, sizeof(ANOTHER_TEST_STRING), ANOTHER_MSG_TYPE, IPC_NOWAIT) == -1) { fail("Parent: msgrcv failed (%m)"); goto err; }