From: Luke Diamand <luke@diamand.org>
To: Pete Wyckoff <pw@padd.com>
Cc: Jonathan Nieder <jrnieder@gmail.com>, git@vger.kernel.org
Subject: Re: [PATCHv3 02/11] git-p4: test debug macro
Date: Sun, 18 Dec 2011 17:10:35 +0000 [thread overview]
Message-ID: <4EEE1E8B.2060808@diamand.org> (raw)
In-Reply-To: <20111218140633.GB16487@padd.com>
On 18/12/11 14:06, Pete Wyckoff wrote:
> 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.
Looks good, ack.
>
> Signed-off-by: Pete Wyckoff<pw@padd.com>
> ---
> jrnieder@gmail.com wrote on Sat, 17 Dec 2011 21:26 -0600:
>> Pete Wyckoff wrote:
>>
>>> + # 2 is SIGINT, ash/dash does not know symbolic names
>>> + trap echo 2
>>
>> 'trap "$cmd" INT' works, and it's even in POSIX. ;)
>> http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#trap
>
> Nicer to use the constant. It works on both. Unfortunately
> ash has other issues regarding handling ctrl-c from subprocesses.
> Point this out in the comments.
>
> t/lib-git-p4.sh | 31 +++++++++++++++++++++++++++++++
> 1 files changed, 31 insertions(+), 0 deletions(-)
>
> diff --git a/t/lib-git-p4.sh b/t/lib-git-p4.sh
> index a870f9a..4c30960 100644
> --- a/t/lib-git-p4.sh
> +++ b/t/lib-git-p4.sh
> @@ -72,3 +72,34 @@ 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.
> +#
> +# The continuation feature only works in shells that do not propagate
> +# a child-caught ctrl-c, namely bash. With ash, the entire test run
> +# will exit on the ctrl-c.
> +#
> +debug() {
> + echo "*** Debug me, hit ctrl-c when done. Useful shell commands:"
> + echo cd \"$(pwd)\"
> + echo export P4PORT=$P4PORT P4CLIENT=$P4CLIENT
> + trap "echo" INT
> + sleep $((3600 * 24 * 30))
> + trap - INT
> +}
> +
next prev parent reply other threads:[~2011-12-18 17:10 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 ` [PATCHv2 " Pete Wyckoff
2011-12-18 3:26 ` Jonathan Nieder
2011-12-18 13:50 ` Pete Wyckoff
2011-12-18 14:06 ` [PATCHv3 " Pete Wyckoff
2011-12-18 17:10 ` Luke Diamand [this message]
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=4EEE1E8B.2060808@diamand.org \
--to=luke@diamand.org \
--cc=git@vger.kernel.org \
--cc=jrnieder@gmail.com \
--cc=pw@padd.com \
/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.