2015-01-25 20:50:27 +02:00
|
|
|
# Setup for tests.
|
|
|
|
#
|
|
|
|
# It returns 1 in case of errors, and no tests should be run then!
|
|
|
|
#
|
2015-05-22 00:58:26 +03:00
|
|
|
# Ensure we have our mocked out AUTOENV_AUTH_FILE
|
2014-11-22 00:07:53 +02:00
|
|
|
# (via .zshenv).
|
2014-11-21 21:07:06 +02:00
|
|
|
|
2014-12-08 22:37:25 +02:00
|
|
|
# Treat unset variables as errors.
|
|
|
|
# Not handled in varstash yet.
|
|
|
|
# setopt nounset
|
|
|
|
|
2016-06-16 02:45:25 +03:00
|
|
|
export AUTOENV_AUTH_FILE="$CRAMTMP/autoenv/.autoenv_auth"
|
2015-04-24 18:33:09 +03:00
|
|
|
|
2015-03-15 23:16:12 +02:00
|
|
|
# Abort this setup script on any error.
|
|
|
|
_save_errexit=${options[errexit]}
|
|
|
|
set -e
|
|
|
|
|
2015-04-24 18:33:09 +03:00
|
|
|
# Defined in .zshenv, e.g. tests/ZDOTDIR/.zshenv.
|
2015-04-23 17:00:12 +03:00
|
|
|
$TEST_SOURCE_AUTOENV
|
2015-03-15 23:10:50 +02:00
|
|
|
|
2014-11-24 18:48:51 +02:00
|
|
|
# Reset any authentication.
|
2016-06-16 02:45:25 +03:00
|
|
|
if [[ -f $AUTOENV_AUTH_FILE ]]; then
|
|
|
|
echo -n >| $AUTOENV_AUTH_FILE
|
|
|
|
fi
|
2014-11-24 18:48:51 +02:00
|
|
|
|
2017-01-10 13:07:39 +02:00
|
|
|
# Add file ($1), version ($2), and optional hash ($3) to authentication file.
|
2014-11-22 00:07:53 +02:00
|
|
|
test_autoenv_add_to_env() {
|
2017-04-23 15:24:17 +03:00
|
|
|
[[ -d ${AUTOENV_AUTH_FILE:h} ]] || mkdir -p ${AUTOENV_AUTH_FILE:h}
|
2017-12-15 16:59:11 +02:00
|
|
|
{
|
|
|
|
local ret_pair
|
|
|
|
_autoenv_hash_pair $1 1 ${2:-} && echo $ret_pair
|
|
|
|
} >>| $AUTOENV_AUTH_FILE
|
2014-11-22 00:07:53 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
# Add enter and leave env files to authentication file.
|
|
|
|
test_autoenv_auth_env_files() {
|
2015-10-09 23:04:55 +03:00
|
|
|
local dir=${1:-$PWD}
|
|
|
|
test_autoenv_add_to_env $dir/$AUTOENV_FILE_ENTER
|
|
|
|
test_autoenv_add_to_env $dir/$AUTOENV_FILE_LEAVE
|
2014-11-22 00:07:53 +02:00
|
|
|
}
|
2015-03-15 23:16:12 +02:00
|
|
|
|
|
|
|
# Now keep on going on errors again.
|
|
|
|
options[errexit]=$_save_errexit
|
|
|
|
unset _save_errexit
|