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

Re: [PATCH] t/t4018: avoid two unnecessary sub-shell invocations

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Sep 10, 2010, 17:25 UTC
Message-ID
<AANLkTindP1KiyFjF+7EVhKDciBr-g_cg3jfHCRB0Qfxo@mail.gmail.com>
In-Reply-To
<rl_Fe3GvwRHMfzdMCqwnBhdCJhaaE21fdWY64ux0ATvXGt5hFA80h-4iMktgWtjAQ_54uD09KJc@cipher.nrlssc.navy.mil>
On Fri, Sep 10, 2010 at 16:13, Brandon Casey <casey@nrlssc.navy.mil> wrote:
Show 32 quoted lines
> From: Brandon Casey <drafnel@gmail.com>
>
>
> Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
> ---
> Thanks again Jeff for your, as always, very valuable review.
>
>
>  t/t4018-diff-funcname.sh |    8 ++++----
>  1 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/t/t4018-diff-funcname.sh b/t/t4018-diff-funcname.sh
> index 620cd02..c8e1937 100755
> --- a/t/t4018-diff-funcname.sh
> +++ b/t/t4018-diff-funcname.sh
> @@ -37,13 +37,13 @@ for p in $builtin_patterns
>  do
>        test_expect_success "builtin $p pattern compiles" '
>                echo "*.java diff=$p" > .gitattributes &&
> -               ! ( git diff --no-index Beer.java Beer-correct.java 2>&1 |
> -                       grep "fatal" > /dev/null )
> +               ! { git diff --no-index Beer.java Beer-correct.java 2>&1 |
> +                       grep "fatal" > /dev/null; }
>        '
>        test_expect_success "builtin $p wordRegex pattern compiles" '
> -               ! ( git diff --no-index --word-diff \
> +               ! { git diff --no-index --word-diff \
>                        Beer.java Beer-correct.java 2>&1 |
> -                       grep "fatal" > /dev/null )
> +                       grep "fatal" > /dev/null; }
>        '
>  done

FWIW (but don't think you need to change 'em) I'd do these as (untested):

test_expect_success "builtin $p wordRegex pattern compiles" '
    git diff --no-index --word-diff >out 2>err &&
    # Or whatever out should be..
    ! test -s out &&
    grep fatal err
'

It's much easier to debug tests that use intermediate files with --immediate --debug when they break, because you can just check out what out and err contain. You can't do that if the output was forgotten in some pipe.

Maybe I should add a bit into t/README about this ...
Previous: Brandon CaseyNext: Brandon Casey
Message 11 of 16 in “diff.c: call regfree to free memory allocated by regcomp when necessary”
  1. 1/4 diff.c: call regfree to free memory allocated by regcomp when necessaryBrandon Casey, Sep 9, 2010
  2. 2/4 xdiff-interface.c: always trim trailing space from xfuncname matchesBrandon Casey, Sep 9, 2010
  3. Jeff KingSep 9, 2010
  4. Brandon CaseySep 9, 2010
  5. Jeff KingSep 9, 2010
  6. 3/4 t/t4018: test whether the word_regex patterns compileBrandon Casey, Sep 9, 2010
  7. Jeff KingSep 9, 2010
  8. Brandon CaseySep 9, 2010
  9. Jeff KingSep 9, 2010
  10. t/t4018: avoid two unnecessary sub-shell invocationsBrandon Casey, Sep 10, 2010
  11. Ævar Arnfjörð BjarmasonSep 10, 2010
  12. 4/4 userdiff.c: add builtin fortran regex patternsBrandon Casey, Sep 9, 2010
  13. Jeff KingSep 9, 2010
  14. Brandon CaseySep 9, 2010
  15. 4/4 userdiff.c: add builtin fortran regex patternsBrandon Casey, Sep 10, 2010
  16. Jeff KingSep 9, 2010

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.