From: Lars Schneider Date: Tue, 17 Nov 2015 08:29:49 GMT Subject: Re: [PATCH v5 5/6] git-p4: add trap to kill p4d on test exit Message-ID: <8C9A93DB-040E-49FE-B6F7-8373D8CE7601@gmail.com> In-Reply-To: <5649974A.1010903@diamand.org> On 16 Nov 2015, at 09:43, Luke Diamand wrote: > On 15/11/15 13:08, larsxschneider@gmail.com wrote: >> From: Lars Schneider >> >> Sometimes the "prove" test runner hangs on test exit because p4d is >> still running. Add a trap to always kill "p4d" on test exit. > > With this change, I've started seeing this when running the tests: > > cat: /home/lgd/git/git/t/trash directory.t9819-git-p4-case-folding/p4d.pid: No such file or directory > > Probably just needs the obvious "test -f" adding. > > Other than, all looks good to me. Particularly nice that I can now do: > > $ make T=t98* -j10 > > and it actually works! Great! I can see where the cat error comes from. I will add the "test -f" condition in the next roll. Thanks, Lars > > > > > >> >> You can reproduce the problem by commenting "P4D_TIMEOUT" in >> "lib-git-p4.sh" and running "prove ./t9800-git-p4-basic.sh". >> --- >> t/lib-git-p4.sh | 6 ++++++ >> 1 file changed, 6 insertions(+) >> >> diff --git a/t/lib-git-p4.sh b/t/lib-git-p4.sh >> index f2a009c..f9c68d4 100644 >> --- a/t/lib-git-p4.sh >> +++ b/t/lib-git-p4.sh >> @@ -65,6 +65,12 @@ cli="$TRASH_DIRECTORY/cli" >> git="$TRASH_DIRECTORY/git" >> pidfile="$TRASH_DIRECTORY/p4d.pid" >> >> +# Sometimes "prove" seems to hang on exit because p4d is still running >> +cleanup() { >> + kill -9 $(cat "$pidfile") 2>/dev/null && exit 255 >> +} >> +trap cleanup EXIT >> + >> # git p4 submit generates a temp file, which will >> # not get cleaned up if the submission fails. Don't >> # clutter up /tmp on the test machine. >> >