1
0
mirror of https://github.com/Tarrasch/zsh-autoenv.git synced 2024-07-01 04:00:10 +03:00
zsh-autoenv/tests/setup.zsh
Daniel Hahler fd54606830 tests: streamline ZDOTDIR layout, AUTOENV_ENV_FILENAME via setup
Without this, a new subshell would reset the env authentication file.
2015-04-24 17:33:09 +02:00

43 lines
1.0 KiB
Bash

# Setup for tests.
#
# It returns 1 in case of errors, and no tests should be run then!
#
# Ensure we have our mocked out AUTOENV_ENV_FILENAME
# (via .zshenv).
# Treat unset variables as errors.
# Not handled in varstash yet.
# setopt nounset
export AUTOENV_ENV_FILENAME="$CRAMTMP/.env_auth"
if [[ $AUTOENV_ENV_FILENAME[0,4] != '/tmp' ]]; then
echo "AUTOENV_ENV_FILENAME is not in /tmp. Aborting."
return 1
fi
# Abort this setup script on any error.
_save_errexit=${options[errexit]}
set -e
# Defined in .zshenv, e.g. tests/ZDOTDIR/.zshenv.
$TEST_SOURCE_AUTOENV
# Reset any authentication.
echo -n >| $AUTOENV_ENV_FILENAME
# Add file $1 (with optional hash $2) to authentication file.
test_autoenv_add_to_env() {
_autoenv_hash_pair $1 ${2:-} >>| $AUTOENV_ENV_FILENAME
}
# Add enter and leave env files to authentication file.
test_autoenv_auth_env_files() {
test_autoenv_add_to_env $PWD/$AUTOENV_FILE_ENTER
test_autoenv_add_to_env $PWD/$AUTOENV_FILE_LEAVE
}
# Now keep on going on errors again.
options[errexit]=$_save_errexit
unset _save_errexit