Doug Hellmann avatar Doug Hellmann committed baf6ab3

test cleanup and enhancement

Comments (0)

Files changed (3)

tests/test_mkvirtualenv.sh

 #set -x
 
 test_dir=$(dirname $0)
-source "$test_dir/../virtualenvwrapper.sh"
-
 export WORKON_HOME="${TMPDIR:-/tmp}/WORKON_HOME"
 
 oneTimeSetUp() {
     rm -rf "$WORKON_HOME"
     mkdir -p "$WORKON_HOME"
+    source "$test_dir/../virtualenvwrapper.sh"
 }
 
 oneTimeTearDown() {
 
 test_hooks () {
     export pre_test_dir=$(cd "$test_dir"; pwd)
-    echo "echo GLOBAL premkvirtualenv >> \"$pre_test_dir/catch_output\"" >> "$WORKON_HOME/premkvirtualenv"
+    echo "echo GLOBAL premkvirtualenv \`pwd\` \"\$@\" >> \"$pre_test_dir/catch_output\"" >> "$WORKON_HOME/premkvirtualenv"
     chmod +x "$WORKON_HOME/premkvirtualenv"
     echo "echo GLOBAL postmkvirtualenv >> $test_dir/catch_output" > "$WORKON_HOME/postmkvirtualenv"
     mkvirtualenv "env3"
     output=$(cat "$test_dir/catch_output")
-    expected="GLOBAL premkvirtualenv
+    expected="GLOBAL premkvirtualenv $WORKON_HOME env3
 GLOBAL postmkvirtualenv"
     assertSame "$expected" "$output"
     rm -f "$WORKON_HOME/premkvirtualenv"

tests/test_run_hook.sh

 }
 
 test_virtualenvwrapper_run_hook_permissions() {
+    echo "#!/bin/sh" > "$WORKON_HOME/prermvirtualenv"
     echo "echo run $@ >> \"$test_dir/catch_output\"" >> "$WORKON_HOME/prermvirtualenv"
     chmod -x "$WORKON_HOME/prermvirtualenv"
     touch "$test_dir/catch_output"
-    virtualenvwrapper_run_hook "pre_rmvirtualenv" "foo"
+    error=$(virtualenvwrapper_run_hook "pre_rmvirtualenv" "foo" 2>&1 | grep "ERROR")
     output=$(cat "$test_dir/catch_output")
     expected=""
     assertSame "$expected" "$output"
+    assertSame "virtualenvwrapper.user_scripts ERROR: Could not run $WORKON_HOME/prermvirtualenv. [Errno 13] Permission denied" "$error"
 }
 
 . "$test_dir/shunit2"

tests/test_workon.sh

 #set -x
 
 test_dir=$(dirname $0)
-source "$test_dir/../virtualenvwrapper.sh"
 
 export WORKON_HOME="${TMPDIR:-/tmp}/WORKON_HOME"
 
 oneTimeSetUp() {
     rm -rf "$WORKON_HOME"
     mkdir -p "$WORKON_HOME"
+    source "$test_dir/../virtualenvwrapper.sh"
     mkvirtualenv "env1"
 }
 
 
     for t in pre post
     do
-        echo "echo GLOBAL ${t}deactivate >> $test_dir/catch_output" > "$WORKON_HOME/${t}deactivate"
-        echo "echo ENV ${t}deactivate >> $test_dir/catch_output" > "$WORKON_HOME/env1/bin/${t}deactivate"
+        echo "echo GLOBAL ${t}deactivate \$VIRTUALENVWRAPPER_LAST_VIRTUAL_ENV >> $test_dir/catch_output" > "$WORKON_HOME/${t}deactivate"
+        echo "echo ENV ${t}deactivate \$VIRTUALENVWRAPPER_LAST_VIRTUAL_ENV >> $test_dir/catch_output" > "$WORKON_HOME/env1/bin/${t}deactivate"
     done
 
     touch "$test_dir/catch_output"
     output=$(cat "$test_dir/catch_output")
     expected="ENV predeactivate
 GLOBAL predeactivate
-ENV postdeactivate
-GLOBAL postdeactivate"
+ENV postdeactivate $WORKON_HOME/env1
+GLOBAL postdeactivate $WORKON_HOME/env1"
     assertSame "$expected" "$output"
     
     for t in pre post
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.