Doug Hellmann avatar Doug Hellmann committed 0820d50

fix #42 by quieting the errors/warnings

Comments (0)

Files changed (5)

 2010-04-29  Doug Hellmann  <dhellmann@racemi.com>
 
+	* tests/test_workon.sh: Refactor deactivate tests into their own
+	script.
+
+	* tests/test_deactivate.sh: Refactor deactivate tests into their
+	own script.
+
 	* virtualenvwrapper.sh (virtualenvwrapper_get_python_version): Add
 	a comment about why we're using the $PATH python instead of the
 	one where the wrappers are installed.
 	(add2virtualenv): Use the install-tree python instead of the one
 	from $PATH.
+	(deactivate): Ignore errors from redundant unset calls.
 
 2010-04-26  Doug Hellmann  <dhellmann@racemi.com>
 

docs/en/history.rst

   - Fixed improper use of python from ``$PATH`` instead of the
     location where the wrappers are installed.  See `issue #41
     <http://bitbucket.org/dhellmann/virtualenvwrapper/issue/41/>`__.
+  - Quiet spurrious error/warning messages when deactivating a
+    virtualenv under zsh.  See `issue #42
+    <http://bitbucket.org/dhellmann/virtualenvwrapper/issue/42/>`__.
 
 2.1
 

tests/test_deactivate.sh

+#!/bin/sh
+
+#set -x
+
+test_dir=$(dirname $0)
+
+export WORKON_HOME="${TMPDIR:-/tmp}/WORKON_HOME"
+
+oneTimeSetUp() {
+    rm -rf "$WORKON_HOME"
+    mkdir -p "$WORKON_HOME"
+    source "$test_dir/../virtualenvwrapper.sh"
+    mkvirtualenv "env1"
+}
+
+oneTimeTearDown() {
+    rm -rf "$WORKON_HOME"
+}
+
+setUp () {
+    echo
+    rm -f "$test_dir/catch_output"
+}
+
+test_deactivate () {
+    workon env1
+    assertNotNull "$VIRTUAL_ENV"
+    deactivate
+    assertNull "$VIRTUAL_ENV"
+    assertFalse virtualenvwrapper_verify_active_environment    
+}
+
+test_deactivate_hooks () {
+    workon env1
+
+    for t in pre post
+    do
+        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"
+
+    deactivate
+
+    output=$(cat "$test_dir/catch_output")
+    expected="ENV predeactivate
+GLOBAL predeactivate
+ENV postdeactivate $WORKON_HOME/env1
+GLOBAL postdeactivate $WORKON_HOME/env1"
+    assertSame "$expected" "$output"
+    
+    for t in pre post
+    do
+        rm -f "$WORKON_HOME/env1/bin/${t}activate"
+        rm -f "$WORKON_HOME/${t}activate"
+    done
+}
+
+. "$test_dir/shunit2"

tests/test_workon.sh

     done
 }
 
-test_deactivate () {
-    workon env1
-    assertNotNull "$VIRTUAL_ENV"
-    deactivate
-    assertNull "$VIRTUAL_ENV"
-    assertFalse virtualenvwrapper_verify_active_environment    
-}
-
-test_deactivate_hooks () {
-    workon env1
-
-    for t in pre post
-    do
-        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"
-
-    deactivate
-
-    output=$(cat "$test_dir/catch_output")
-    expected="ENV predeactivate
-GLOBAL predeactivate
-ENV postdeactivate $WORKON_HOME/env1
-GLOBAL postdeactivate $WORKON_HOME/env1"
-    assertSame "$expected" "$output"
-    
-    for t in pre post
-    do
-        rm -f "$WORKON_HOME/env1/bin/${t}activate"
-        rm -f "$WORKON_HOME/${t}activate"
-    done
-}
-
 test_virtualenvwrapper_show_workon_options () {
     mkdir "$WORKON_HOME/not_env"
     (cd "$WORKON_HOME"; ln -s env1 link_env)

virtualenvwrapper.sh

         if [ ! "$1" = "nondestructive" ]
         then
             # Remove this function
-            unset -f virtualenv_deactivate
-            unset -f deactivate
+            unset -f virtualenv_deactivate >/dev/null 2>&1
+            unset -f deactivate >/dev/null 2>&1
         fi
 
     }'
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.