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

Re: [PATCH v3] tests: use "env" to run commands with temporary env-var settings

From
Eric Sunshine <sunshine@sunshineco.com>
Date
Mar 19, 2014, 03:59 UTC
Message-ID
<CAPig+cT1c1HjsbN9PWB9Fn70v+qQOvE3A8bojbQNWw7jbD0BWQ@mail.gmail.com>
In-Reply-To
<1395168845-1972-1-git-send-email-unsignedzero@gmail.com>
On Tue, Mar 18, 2014 at 2:54 PM, David Tran <unsignedzero@gmail.com> wrote:
Show 11 quoted lines
> Originally, we would use "VAR=VAL command" to execute a test command with
> environment variable(s) only for that command. This does not work for commands
> that are shell functions (most notably test functions like "test_must_fail");
> the result of the assignment is retained and affects later commands.
>
> To avoid this, we assigned and exported the environment variables and run
> the test(s) in a subshell like this,
>
>         (
>                 VAR=VAL &&
>                 export VAR
Append && to this line.
Show 8 quoted lines
>                 test_must_fail git command to be tested
>         )
>
> Using the "env" utility, we should be able to say
>
>         test_must_fail git command to be tested
>
> which is much short and easier to read.
s/short/shorter/
Show 5 quoted lines
> Signed-off-by: David Tran <unsignedzero@gmail.com>
>
> ---
>
> Hopefully this should be all of it.
Much better. I didn't spot any errors in the patch this time around.

One final note for future submissions: As a courtesy to reviewers, explain (below the "---" line) what changed in the current version, and provide a reference to the previous attempt, like this [1].

[1]: http://thread.gmane.org/gmane.comp.version-control.git/244379
Show 15 quoted lines
> Signed-off-by: David Tran <unsignedzero@gmail.com>
> ---
>  t/t1300-repo-config.sh        |   17 ++--------
>  t/t1510-repo-setup.sh         |    4 +--
>  t/t3200-branch.sh             |   12 +------
>  t/t3301-notes.sh              |   22 +++---------
>  t/t3404-rebase-interactive.sh |   69 ++++++++---------------------------------
>  t/t3413-rebase-hook.sh        |    6 +---
>  t/t4014-format-patch.sh       |   14 ++------
>  t/t5305-include-tag.sh        |    4 +--
>  t/t5602-clone-remote-exec.sh  |   13 ++------
>  t/t5801-remote-helpers.sh     |    6 +--
>  t/t6006-rev-list-format.sh    |    9 ++---
>  t/t7006-pager.sh              |   18 ++---------
>  12 files changed, 42 insertions(+), 152 deletions(-)
Previous: David TranNext: Junio C Hamano
Message 2 of 3 in “tests: use "env" to run commands with temporary env-var settings”
  1. tests: use "env" to run commands with temporary env-var settingsDavid Tran, Mar 18, 2014
  2. Eric SunshineMar 19, 2014
  3. Junio C HamanoMar 19, 2014

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.