From: Luke Diamand Date: Mon, 16 Nov 2015 08:43:54 GMT Subject: Re: [PATCH v5 5/6] git-p4: add trap to kill p4d on test exit Message-ID: <5649974A.1010903@diamand.org> In-Reply-To: <1447592920-89228-6-git-send-email-larsxschneider@gmail.com> 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! > > 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. >