[PATCHv2 02/11] git-p4: test debug macro
- From
- Pete Wyckoff <pw@padd.com>
- Date
- Dec 18, 2011, 01:36 UTC
- Message-ID
- <20111218013651.GA18735@padd.com>
- In-Reply-To
- <4EED1B06.80007@diamand.org>
Call this from a test to have it pause and wait for you to investigate. It prints out its current directory and the P4 environment variables. It waits for ctrl-c before continuing the test.
Signed-off-by: Pete Wyckoff <pw@padd.com> --- luke@diamand.org wrote on Sat, 17 Dec 2011 22:43 +0000:
Show 18 quoted lines
> >+# Go investigate when it pauses, then hit ctrl-c to continue the
> >+# test. The other tests will run, and p4d will be cleaned up nicely.
> >+#
> >+# Note that the directory is deleted and created for every test run,
> >+# so you have to do the "cd" again.
> >+#
> >+debug() {
> >+ echo "*** Debug me, hit ctrl-c when done. Useful shell commands:"
> >+ echo cd \"$(pwd)\"
> >+ echo export P4PORT=$P4PORT P4CLIENT=$P4CLIENT
> >+ trap echo SIGINT
>
> Does that work with non-bash shells like ash? It didn't for me.
>
> >+ sleep $((3600 * 24 * 30))
> >+ trap - SIGINT
> >+}
> >+Indeed. At least debian's ash is just dash, and version 0.5.7-2 doesn't know the symbolic signal names.
Thanks for noticing.
t/lib-git-p4.sh | 28 ++++++++++++++++++++++++++++ 1 files changed, 28 insertions(+), 0 deletions(-)
diff --git a/t/lib-git-p4.sh b/t/lib-git-p4.sh index a870f9a..b7b2c95 100644 --- a/t/lib-git-p4.sh +++ b/t/lib-git-p4.sh @@ -72,3 +72,31 @@ kill_p4d() { cleanup_git() { rm -rf "$git" } + +# +# This is a handy tool when developing or debugging tests. Use +# it inline to pause the script, perhaps like this: +# +# "$GITP4" clone ... && +# ( +# cd "$git" && +# debug && +# git log --oneline >lines && +# ... +# +# Go investigate when it pauses, then hit ctrl-c to continue the +# test. The other tests will run, and p4d will be cleaned up nicely. +# +# Note that the directory is deleted and created for every test run, +# so you have to do the "cd" again. +# +debug() { + echo "*** Debug me, hit ctrl-c when done. Useful shell commands:" + echo cd \"$(pwd)\" + echo export P4PORT=$P4PORT P4CLIENT=$P4CLIENT + # 2 is SIGINT, ash/dash does not know symbolic names + trap echo 2 + sleep $((3600 * 24 * 30)) + trap - 2 +} +
-- 1.7.8.285.gb668d