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

Re: [PATCH v2 6/7] t5520: reduce commom lines of code

From
Johannes Sixt <j6t@kdbg.org>
Date
Apr 2, 2016, 18:50 UTC
Message-ID
<5700145E.4060308@kdbg.org>
In-Reply-To
<1459619912-5445-7-git-send-email-mehul.jain2029@gmail.com>
Am 02.04.2016 um 19:58 schrieb Mehul Jain:
Show 32 quoted lines
> These two tests are almost similar and thus can be folded in a for-loop.
>
> Helped-by: Eric Sunshine <sunshine@sunshineco.com>
> Signed-off-by: Mehul Jain <mehul.jain2029@gmail.com>
> ---
>   t/t5520-pull.sh | 16 +++++++---------
>   1 file changed, 7 insertions(+), 9 deletions(-)
>
> diff --git a/t/t5520-pull.sh b/t/t5520-pull.sh
> index fb9f845..e12af96 100755
> --- a/t/t5520-pull.sh
> +++ b/t/t5520-pull.sh
> @@ -298,15 +298,13 @@ test_expect_success 'pull --rebase --no-autostash & rebase.autostash unset' '
>   	test_pull_autostash_fail --rebase --no-autostash
>   '
>
> -test_expect_success 'pull --autostash (without --rebase) should error out' '
> -	test_must_fail git pull --autostash . copy 2>err &&
> -	test_i18ngrep "only valid with --rebase" err
> -'
> -
> -test_expect_success 'pull --no-autostash (without --rebase) should error out' '
> -	test_must_fail git pull --no-autostash . copy 2>err &&
> -	test_i18ngrep "only valid with --rebase" err
> -'
> +for i in --autostash --no-autostash
> +do
> +	test_expect_success "pull $i (without --rebase) is illegal" '
> +		test_must_fail git pull $i . copy 2>err &&
> +		test_i18ngrep "only valid with --rebase" err
> +	'
> +done

Hm. If the implementation of test_expect_success uses the variable, too, its value is lost when the test snippet runs. Fortunately, it does not.

You can make this code a bit more robust by using double-quotes around the test code so that $i is expanded before test_expect_success is evaluated.

You could also change the variable name, but to be sufficiently safe, you would have to use an unsightly long name. 'opt' would be just as bad as 'i'.

>
>   test_expect_success 'pull.rebase' '
>   	git reset --hard before-rebase &&
>
-- Hannes
Previous: Mehul JainNext: Mehul Jain
Message 10 of 20 in “t5520: tests for --[no-]autostash option”
  1. 0/7 t5520: tests for --[no-]autostash optionMehul Jain, Apr 2, 2016
  2. 1/7 t5520: use consistent capitalization in test titlesMehul Jain, Apr 2, 2016
  3. 2/7 t5520: ensure consistent test conditionsMehul Jain, Apr 2, 2016
  4. 3/7 t5520: use better test to check stderr outputMehul Jain, Apr 2, 2016
  5. 4/7 t5520: factor out common codeMehul Jain, Apr 2, 2016
  6. Eric SunshineApr 3, 2016
  7. 5/7 t5520: factor out common codeMehul Jain, Apr 2, 2016
  8. Eric SunshineApr 3, 2016
  9. 6/7 t5520: reduce commom lines of codeMehul Jain, Apr 2, 2016
  10. Johannes SixtApr 2, 2016
  11. Mehul JainApr 3, 2016
  12. Johannes SixtApr 3, 2016
  13. 7/7 t5520: test --[no-]autostash with pull.rebase=trueMehul Jain, Apr 2, 2016
  14. Eric SunshineApr 3, 2016
  15. 6/7 t5520: reduce commom lines of codeMehul Jain, Apr 3, 2016
  16. Eric SunshineApr 3, 2016
  17. Matthieu MoyApr 4, 2016
  18. Mehul JainApr 4, 2016
  19. Junio C HamanoApr 4, 2016
  20. Mehul JainApr 4, 2016

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.