diff options
author | Dan Williams <dan.j.williams@intel.com> | 2008-12-08 16:59:18 -0700 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2008-12-08 16:59:18 -0700 |
commit | 4b7a9ee3a1e45aeb3cdf8c829762e7de5e1b25ec (patch) | |
tree | ddfbc5f38fee0cbabbd463f456ccd3411fd808bd /test | |
parent | 4025c288b2622a589b4403a3158452d4a7bfa7fa (diff) |
test: enable per-test custom environment setup/teardown
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'test')
-rw-r--r-- | test | 18 |
1 files changed, 18 insertions, 0 deletions
@@ -63,6 +63,7 @@ do eval dev$d=/dev/loop$d eval file$d=$targetdir/mdtest$d eval devlist=\"\$devlist \$dev$d\" + #" <-- add this quote to un-confuse vim syntax highlighting done path0=$dev6 path1=$dev7 @@ -171,7 +172,20 @@ rotest() { fsck -fn $dev >&2 } +setup_environment() { + if [ -f $1 ]; then + . $environment + setup_env + fi +} +reset_environment() { + if [ -f $1 ]; then + reset_env + unset setup_env + unset reset_env + fi +} for script in tests/$prefix tests/$prefix*[^~] do @@ -182,14 +196,18 @@ do mdadm -Ssq mdadm --zero $devlist 2> /dev/null mdadm --zero $devlist 2> /dev/null + environment="tests/env-`basename $script`" + setup_environment $environment # source script in a subshell, so it has access to our # namespace, but cannot change it. if ( set -ex ; . $script ) 2> $targetdir/log then echo "$script succeeded" else cat $targetdir/log ; cat $targetdir/stderr echo "$script failed" + reset_environment $environment exit 1 fi + reset_environment $environment fi done exit 0 |