[PATCHv2 02/11] git-p4: test debug macro

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

 



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

--
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]