]> Sergey Matveev's repositories - zsh-autoenv.git/commitdiff
Create path to non-existing auth file (#49)
authorDaniel Hahler <github@thequod.de>
Wed, 15 Jun 2016 23:45:25 +0000 (01:45 +0200)
committerGitHub <noreply@github.com>
Wed, 15 Jun 2016 23:45:25 +0000 (01:45 +0200)
This changes the tests to have the auth file in a non-existing subdir
always, as with `$HOME/.local/share` not being there already.

Fixes https://github.com/Tarrasch/zsh-autoenv/issues/48.

autoenv.zsh
tests/_autoenv_utils.t
tests/setup.zsh

index ee0daa0a47af18d0a659971135d42c27e339f190..4df3f53cb0f2a94623e01414f130ba8ca4eeb86f 100644 (file)
@@ -194,6 +194,7 @@ _autoenv_authorized_env_file() {
 _autoenv_authorize() {
   local env_file=${1:A}
   _autoenv_deauthorize $env_file
+  [[ -d ${AUTOENV_AUTH_FILE:h} ]] || mkdir -p ${AUTOENV_AUTH_FILE:h}
   _autoenv_hash_pair $env_file >>| $AUTOENV_AUTH_FILE
 }
 
index ee5b306b43f57f3ef3e5ea57356b04a3843d7c04..06025b67827c3562296052ec21e0e004099e298b 100644 (file)
@@ -21,7 +21,7 @@ Tests for _autoenv_authorize. {{{
 Auth file is empty.
 
   $ cd ../..
-  $ cat $AUTOENV_AUTH_FILE
+  $ ! [[ -f "$AUTOENV_AUTH_FILE" ]] || cat $AUTOENV_AUTH_FILE
 
 Failed authorization should keep the auth file empty.
 
index 316074de972983fae62b2a4bd3c8d0cc55884f7e..78eb02e3a4c6a55dc82908e34184f13fd66b14c1 100644 (file)
@@ -9,7 +9,7 @@
 # Not handled in varstash yet.
 # setopt nounset
 
-export AUTOENV_AUTH_FILE="$CRAMTMP/.autoenv_auth"
+export AUTOENV_AUTH_FILE="$CRAMTMP/autoenv/.autoenv_auth"
 
 if [[ $AUTOENV_AUTH_FILE[0,4] != '/tmp' ]]; then
   echo "AUTOENV_AUTH_FILE is not in /tmp. Aborting."
@@ -24,7 +24,9 @@ set -e
 $TEST_SOURCE_AUTOENV
 
 # Reset any authentication.
-echo -n >| $AUTOENV_AUTH_FILE
+if [[ -f $AUTOENV_AUTH_FILE ]]; then
+  echo -n >| $AUTOENV_AUTH_FILE
+fi
 
 # Add file $1 (with optional hash $2) to authentication file.
 test_autoenv_add_to_env() {