[PATCH] tests: wait for flock background process

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Ruediger Meier <ruediger.meier@xxxxxxxxxxx>

Maybe we should add a --daemonize option to flock to cover
this use case.

Signed-off-by: Ruediger Meier <ruediger.meier@xxxxxxxxxxx>
---
 tests/ts/misc/flock | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/tests/ts/misc/flock b/tests/ts/misc/flock
index b2fc772..39e88de 100755
--- a/tests/ts/misc/flock
+++ b/tests/ts/misc/flock
@@ -19,6 +19,7 @@ TS_DESC="flock"
 ts_init "$*"
 
 ts_check_test_command "$TS_CMD_FLOCK"
+ts_check_prog "ps"
 
 
 function do_lock {
@@ -42,10 +43,19 @@ function do_lock {
 # general lock
 GEN_OUTPUT="$TS_OUTPUT"
 START=$(date '+%s')
+# running flock in background is not the best usage example
 $TS_CMD_FLOCK --shared $TS_OUTDIR/lockfile \
 	bash -c 'echo "Locking"; sleep 3; echo "Unlocking"' \
 	> $GEN_OUTPUT 2>&1 &
+pid=$!
 
+# check for running background process
+if [ "$pid" -le "0" ] || ! kill -s 0 "$pid" &>/dev/null; then
+	ts_die "unable to run flock"
+fi
+# the lock should be established when flock has a child
+timeout 1s bash -c "while [ \$(ps --ppid $pid |wc -l) -lt 2 ]; do sleep 0.1 ;done" \
+	|| ts_die "timeout waiting for flock child"
 
 ts_init_subtest "non-block"
 do_lock "--nonblock --conflict-exit-code 123" 123 "You will never see this!"
-- 
1.8.5.6

--
To unsubscribe from this list: send the line "unsubscribe util-linux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux