git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Junio C Hamano <gitster@pobox.com>
Date
Dec 18, 2011, 21:48 UTC
Message-ID
<7vwr9to8kk.fsf@alter.siamese.dyndns.org>
In-Reply-To
<20111218140633.GB16487@padd.com>
Pete Wyckoff <pw@padd.com> writes:
Show 7 quoted lines
> 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>
> ---
...
Show 21 quoted lines
> 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
> +...
> +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
> +}
> +

You may have found this handy yourself, but I would rather not to see it here in the current form for multiple reasons.

 - Why "ctrl-c"? You are not even spawning shell from here but are having
   the user interact with this state in the middle of a test from another
   shell, no?
   Why not "When done, type <RET>" and have a "read junk" or something
   instead? That would be a lot simpler and you do not have to worry about
   portability with many lines of comments.
   An alternative is to spawn an interactive shell here, and change the
   "Debug me" comment to say "ctrl-d when done".
 - This is not linked to the generic "debug" option "txxxx-name.sh -d".
   Shouldn't you be extending test_debug so that it can go interactive,
   give customized comments&insns (i.e. "cd $here" may be useful for test
   scripts outside testing p4, but "P4PORT=..." would not be, so the user
   of test_debug in t9800-git-p4.* needs customizability of the message).

Also could we please rename p4 related tests in t/t98* series so that it is clear that they are about git-p4 from "ls t/" output (i.e. have them all have "git-p4" in their names)?

Previous: Luke DiamandNext: Pete Wyckoff
Message 10 of 20 in “git-p4: asciidoc documentation and fixes”
  1. 00/11 git-p4: asciidoc documentation and fixesPete Wyckoff, Dec 17, 2011
  2. 01/11 git-p4: introduce asciidoc documentationPete Wyckoff, Dec 17, 2011
  3. 02/11 git-p4: test debug macroPete Wyckoff, Dec 17, 2011
  4. Luke DiamandDec 17, 2011
  5. 02/11 git-p4: test debug macroPete Wyckoff, Dec 18, 2011
  6. Jonathan NiederDec 18, 2011
  7. Pete WyckoffDec 18, 2011
  8. 02/11 git-p4: test debug macroPete Wyckoff, Dec 18, 2011
  9. Luke DiamandDec 18, 2011
  10. Junio C HamanoDec 18, 2011
  11. Pete WyckoffDec 20, 2011
  12. 03/11 git-p4: clone does not use --git-dirPete Wyckoff, Dec 17, 2011
  13. 04/11 git-p4: test cloning with two dirs, clarify docPete Wyckoff, Dec 17, 2011
  14. 05/11 git-p4: document and test clone --branchPete Wyckoff, Dec 17, 2011
  15. 06/11 git-p4: honor --changesfile option and testPete Wyckoff, Dec 17, 2011
  16. 07/11 git-p4: document and test --import-localPete Wyckoff, Dec 17, 2011
  17. 08/11 git-p4: test --max-changesPete Wyckoff, Dec 17, 2011
  18. 09/11 git-p4: test --keep-pathPete Wyckoff, Dec 17, 2011
  19. 10/11 git-p4: test and document --use-client-specPete Wyckoff, Dec 17, 2011
  20. 11/11 git-p4: document and test submit optionsPete Wyckoff, Dec 17, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.