Re: [PATCH v2 2/2] t1500-rev-parse: rewrite each test to run in isolation
- From
SZEDER Gábor <szeder@ira.uka.de>
- Date
- Apr 17, 2016, 09:42 UTC
- Message-ID
- <20160417114253.Horde.giIo57RkUzhAe6GP-RahIrw@webmail.informatik.kit.edu>
- In-Reply-To
- <1460823230-45692-3-git-send-email-rappazzo@gmail.com>
Quoting Michael Rappazzo <rappazzo@gmail.com>:
Show 8 quoted lines
> +test_expect_success 'GIT_DIR=../.git, core.bare = false: > is-bare-repository' ' > + mkdir work && > + test_when_finished "rm -rf work" && > + test_config -C "$(pwd)"/.git core.bare false && > + GIT_DIR=../.git test_stdout false git -C work rev-parse > --is-bare-repository > +'
Here and in the following tests as well: some shells don't cope that well with a one-shot environmental variable set in front of a shell function. See commit 512477b17528:
tests: use "env" to run commands with temporary env-var settings
Ordinarily, we would say "VAR=VAL command" to execute a tested
command with environment variable(s) set only for that command.
This however does not work if 'command' is a shell function (most
notably 'test_must_fail'); the result of the assignment is retained
and affects later commands. To avoid this, we used to assign and export environment variables
and run such a test in a subshell, like so: (
VAR=VAL && export VAR &&
test_must_fail git command to be tested
)But with "env" utility, we should be able to say:
test_must_fail env VAR=VAL git command to be tested
which is much shorter and easier to read.