[PATCH] git-p4: fix occasional test failure in kill_p4d

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

 



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 <luke@xxxxxxxxxxx>
---
 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

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




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]