All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pete Wyckoff <pw@padd.com>
To: Luke Diamand <luke@diamand.org>
Cc: git@vger.kernel.org
Subject: [PATCHv2 02/11] git-p4: test debug macro
Date: Sat, 17 Dec 2011 20:36:51 -0500	[thread overview]
Message-ID: <20111218013651.GA18735@padd.com> (raw)
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:
> >+# 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

  reply	other threads:[~2011-12-18  1:37 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-17 18:52 [PATCH 00/11] git-p4: asciidoc documentation and fixes Pete Wyckoff
2011-12-17 18:52 ` [PATCH 01/11] git-p4: introduce asciidoc documentation Pete Wyckoff
2011-12-17 18:52 ` [PATCH 02/11] git-p4: test debug macro Pete Wyckoff
2011-12-17 22:43   ` Luke Diamand
2011-12-18  1:36     ` Pete Wyckoff [this message]
2011-12-18  3:26       ` [PATCHv2 " Jonathan Nieder
2011-12-18 13:50         ` Pete Wyckoff
2011-12-18 14:06         ` [PATCHv3 " Pete Wyckoff
2011-12-18 17:10           ` Luke Diamand
2011-12-18 21:48           ` Junio C Hamano
2011-12-20  1:35             ` Pete Wyckoff
2011-12-17 18:52 ` [PATCH 03/11] git-p4: clone does not use --git-dir Pete Wyckoff
2011-12-17 18:52 ` [PATCH 04/11] git-p4: test cloning with two dirs, clarify doc Pete Wyckoff
2011-12-17 18:52 ` [PATCH 05/11] git-p4: document and test clone --branch Pete Wyckoff
2011-12-17 18:52 ` [PATCH 06/11] git-p4: honor --changesfile option and test Pete Wyckoff
2011-12-17 18:52 ` [PATCH 07/11] git-p4: document and test --import-local Pete Wyckoff
2011-12-17 18:52 ` [PATCH 08/11] git-p4: test --max-changes Pete Wyckoff
2011-12-17 18:52 ` [PATCH 09/11] git-p4: test --keep-path Pete Wyckoff
2011-12-17 18:52 ` [PATCH 10/11] git-p4: test and document --use-client-spec Pete Wyckoff
2011-12-17 18:52 ` [PATCH 11/11] git-p4: document and test submit options Pete Wyckoff

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20111218013651.GA18735@padd.com \
    --to=pw@padd.com \
    --cc=git@vger.kernel.org \
    --cc=luke@diamand.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.