[PATCH 2/4] test-lib: allow variable export from lazy prereq tests
- From
Michael J Gruber <git@drmicha.warpmail.net>
- Date
- Oct 16, 2012, 11:39 UTC
- Message-ID
- <ca07c5a1cf836826fc0ee53daf3e7f3dfe111ece.1350387132.git.git@drmicha.warpmail.net>
- In-Reply-To
- <k5gq60$q8c$1@ger.gmane.org>
Currently, lazy prereq tests are run in a subshell which communicates only the exit code to the outer world.
Run it as a subcommand so that variables can be exported to the test environment.
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> --- I don't think this has any adverse side effects, but I'm begging for another set of eyeballs to have a look. (Test suite passes, of course.)
t/test-lib-functions.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/t/test-lib-functions.sh b/t/test-lib-functions.sh index 8889ba5..e587902 100644 --- a/t/test-lib-functions.sh +++ b/t/test-lib-functions.sh @@ -246,13 +246,15 @@ test_lazy_prereq () { test_run_lazy_prereq_ () { script=' mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" && -( +{ cd "$TRASH_DIRECTORY/prereq-test-dir" &&'"$2"' -)' +}' say >&3 "checking prerequisite: $1" say >&3 "$script" + orig_pwd="$(pwd)" test_eval_ "$script" eval_ret=$? + cd "$orig_pwd" rm -rf "$TRASH_DIRECTORY/prereq-test-dir" if test "$eval_ret" = 0; then say >&3 "prerequisite $1 ok"
-- 1.8.0.rc2.304.g9f3ac5c