From: Luke Diamand Date: Wed, 29 Apr 2015 21:26:09 GMT Subject: [PATCH] git-p4: fix occasional test failure in kill_p4d Message-ID: <1430342769-20521-2-git-send-email-luke@diamand.org> In-Reply-To: <1430342769-20521-1-git-send-email-luke@diamand.org> The kill_p4d test function used in the test harness fails occasionally, especially if running many of the git-p4 tests in parallel. It looks like p4d is sensitive to being shutdown ungracefully, so to work around this, use 'p4 admin stop' rather than kill, and start p4d with journalling turned off. This seems to be much more reliable. Signed-off-by: Luke Diamand --- t/lib-git-p4.sh | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/t/lib-git-p4.sh b/t/lib-git-p4.sh index 5aa8adc..3885381 100644 --- a/t/lib-git-p4.sh +++ b/t/lib-git-p4.sh @@ -69,7 +69,8 @@ start_p4d() { ( cd "$db" && { - p4d -q -p $P4DPORT & + # disable journalling: it makes shutdown unreliable + p4d -J off -q -p $P4DPORT & echo $! >"$pidfile" } ) && @@ -122,15 +123,15 @@ p4_add_user() { } kill_p4d() { - pid=$(cat "$pidfile") - # it had better exist for the first kill - kill $pid && - for i in 1 2 3 4 5 ; do - kill $pid >/dev/null 2>&1 || break + # graceful shutdown + p4 admin stop && + for i in 1 2 3 4 5 + do + p4 info >/dev/null 2>&1 || break sleep 1 done && # complain if it would not die - test_must_fail kill $pid >/dev/null 2>&1 && + test_must_fail p4 info 2>&1 >/dev/null && rm -rf "$db" "$cli" "$pidfile" } -- 2.3.4.48.g223ab37