summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/lib25
1 files changed, 18 insertions, 7 deletions
diff --git a/tests/lib b/tests/lib
index 1a9b042..5adcf0b 100644
--- a/tests/lib
+++ b/tests/lib
@@ -323,17 +323,28 @@ t-822-field () {
' <$file
}
+t-stunt-envvar () {
+ local var=$1
+ local tstunt=$2
+ eval '
+ case "'$var'" in
+ "$tstunt:"*) ;;
+ *":$tstunt:"*) ;;
+ *) '$var'="$tstunt:$'$var'" ;;
+ esac
+ '
+}
+
t-tstunt () {
local tstunt=$tmp/tstunt
- mkdir -p $tstunt
- case "$PATH" in
- "$tstunt:"*) ;;
- *":$tstunt:"*) ;;
- *) PATH="$tstunt:$PATH" ;;
- esac
+ t-stunt-envvar PATH $tstunt
+ t-stunt-envvar PERLLIB $tstunt
local f
for f in "$@"; do
- ln -sf "$troot/tstunt/$f" "$tstunt"/.
+ f="./$f"
+ local d="$tstunt/${f%/*}"
+ mkdir -p $d
+ ln -sf "$troot/tstunt/$f" "$d"/.
done
}