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

Re: "./t0001-init.sh --valgrind" is broken

From
Duy Nguyen <pclouds@gmail.com>
Date
Mar 3, 2016, 12:09 UTC
Message-ID
<CACsJy8CVfJdCmwWo50wHsc6DP6ft71d5bfBaFSJpv9XcNRwdSQ@mail.gmail.com>
In-Reply-To
<56D7DFD5.8010108@kdbg.org>
+the-other-Johannes who added valgrind support.
On Thu, Mar 3, 2016 at 1:55 PM, Johannes Sixt <j6t@kdbg.org> wrote:
Show 8 quoted lines
> ---- 8< ----
> Subject: [PATCH] t0001: fix GIT_* environment variable check under --valgrind
>
> When a test case is run without --valgrind, the wrap-for-bin.sh
> helper script inserts the environment variable GIT_TEXTDOMAINDIR, but
> when run with --valgrind, the variable is missing. A recently
> introduced test case expects the presence of the variable, though, and
> fails under --valgrind.
Yep.

It's interesting though that valgrind sets up some variables without going through bin-wrappers. That's understandable because valgrind support is added (in 4e1be63) 10 months before bin-wrappers (in ea92519). But it's probably better that we inject valgrind command from inside bin-wrappers script, the same way we inject gdb, I think.

> Rewrite the test case to strip conditially defined environment variables
> from both expected and actual output.

Or we could set GIT_TEXTDOMAINDIR in the "if test -n $valgrind" code in test-lib.sh, which makes the two more consistent. Also simpler patch.

Show 41 quoted lines
> Signed-off-by: Johannes Sixt <j6t@kdbg.org>
> ---
>  t/t0001-init.sh | 20 +++++++++-----------
>  1 file changed, 9 insertions(+), 11 deletions(-)
>
> diff --git a/t/t0001-init.sh b/t/t0001-init.sh
> index 295aa59..a5b9e7a 100755
> --- a/t/t0001-init.sh
> +++ b/t/t0001-init.sh
> @@ -88,19 +88,17 @@ test_expect_success 'plain nested in bare through aliased command' '
>  '
>
>  test_expect_success 'No extra GIT_* on alias scripts' '
> -       (
> -               env | sed -ne "/^GIT_/s/=.*//p" &&
> -               echo GIT_PREFIX &&        # setup.c
> -               echo GIT_TEXTDOMAINDIR    # wrapper-for-bin.sh
> -       ) | sort | uniq >expected &&
> -       cat <<-\EOF >script &&
> -       #!/bin/sh
> -       env | sed -ne "/^GIT_/s/=.*//p" | sort >actual
> -       exit 0
> +       write_script script <<-\EOF &&
> +       env |
> +               sed -n \
> +                       -e "/^GIT_PREFIX=/d" \
> +                       -e "/^GIT_TEXTDOMAINDIR=/d" \
> +                       -e "/^GIT_/s/=.*//p" |
> +               sort
>         EOF
> -       chmod 755 script &&
> +       ./script >expected &&
>         git config alias.script \!./script &&
> -       ( mkdir sub && cd sub && git script ) &&
> +       ( mkdir sub && cd sub && git script >../actual ) &&
>         test_cmp expected actual
>  '
>
> --
> 2.7.0.118.g90056ae
>
-- 
Duy
Previous: Johannes SixtNext: Duy Nguyen
Message 5 of 9 in “"./t0001-init.sh --valgrind" is broken”
  1. Christian CouderMar 3, 2016
  2. Duy NguyenMar 3, 2016
  3. Junio C HamanoMar 3, 2016
  4. Johannes SixtMar 3, 2016
  5. Duy NguyenMar 3, 2016
  6. Duy NguyenMar 3, 2016
  7. Junio C HamanoMar 3, 2016
  8. Jeff KingMar 3, 2016
  9. Johannes SixtMar 3, 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.