Skip to content

Commit f4f2370

Browse files
committed
Made rmvirtualenv work with spaces
1 parent d3137a2 commit f4f2370

File tree

2 files changed

+21
-19
lines changed

2 files changed

+21
-19
lines changed

tests/test_rmvirtualenv.sh

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -14,51 +14,53 @@ oneTimeTearDown() {
1414
}
1515

1616
setUp () {
17-
echo
17+
mkvirtualenv "deleteme" >/dev/null 2>&1
18+
# Only test with leading and internal spaces. Directory names with trailing spaces are legal,
19+
# and work with virtualenv on OSX, but error out on Linux.
20+
mkvirtualenv " env with space" >/dev/null 2>&1
21+
deactivate >/dev/null 2>&1
1822
}
1923

2024
test_remove () {
21-
mkvirtualenv "deleteme" >/dev/null 2>&1
2225
assertTrue "[ -d $WORKON_HOME/deleteme ]"
23-
deactivate
2426
rmvirtualenv "deleteme"
2527
assertFalse "[ -d $WORKON_HOME/deleteme ]"
2628
}
2729

30+
test_remove_space_in_name () {
31+
assertTrue "[ -d $WORKON_HOME/\" env with space\" ]"
32+
rmvirtualenv " env with space"
33+
assertFalse "[ -d $WORKON_HOME/\" env with space\" ]"
34+
}
35+
2836
test_remove_several_envs () {
29-
mkvirtualenv "deleteme" >/dev/null 2>&1
3037
assertTrue "[ -d $WORKON_HOME/deleteme ]"
31-
deactivate
32-
mkvirtualenv "deleteme2" >/dev/null 2>&1
33-
assertTrue "[ -d $WORKON_HOME/deleteme2 ]"
34-
deactivate
35-
rmvirtualenv "deleteme deleteme2"
38+
assertTrue "[ -d $WORKON_HOME/\" env with space\" ]"
39+
rmvirtualenv deleteme " env with space"
3640
assertFalse "[ -d $WORKON_HOME/deleteme ]"
37-
assertFalse "[ -d $WORKON_HOME/deleteme2 ]"
41+
assertFalse "[ -d $WORKON_HOME/\" env with space\" ]"
3842
}
3943

4044
test_within_virtualenv () {
41-
mkvirtualenv "deleteme" >/dev/null 2>&1
42-
assertTrue "[ -d $WORKON_HOME/deleteme ]"
45+
mkvirtualenv "deleteme2" >/dev/null 2>&1
46+
assertTrue "[ -d $WORKON_HOME/deleteme2 ]"
4347
cdvirtualenv
4448
assertSame "$VIRTUAL_ENV" "$(pwd)"
4549
deactivate
46-
rmvirtualenv "deleteme"
50+
rmvirtualenv "deleteme2"
4751
assertSame "$WORKON_HOME" "$(pwd)"
48-
assertFalse "[ -d $WORKON_HOME/deleteme ]"
52+
assertFalse "[ -d $WORKON_HOME/deleteme2 ]"
4953
}
5054

5155
test_rm_aliased () {
52-
mkvirtualenv "deleteme" >/dev/null 2>&1
53-
deactivate
5456
alias rm='rm -i'
5557
rmvirtualenv "deleteme"
5658
unalias rm
5759
}
5860

5961
test_no_such_env () {
60-
assertFalse "[ -d $WORKON_HOME/deleteme ]"
61-
assertTrue "rmvirtualenv deleteme"
62+
assertFalse "[ -d $WORKON_HOME/deleteme2 ]"
63+
assertTrue "rmvirtualenv deleteme2"
6264
}
6365

6466
test_no_workon_home () {

virtualenvwrapper.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -521,7 +521,7 @@ function rmvirtualenv {
521521

522522
# support to remove several environments
523523
typeset env_name
524-
for env_name in $@
524+
for env_name in "$@"
525525
do
526526
echo "Removing $env_name..."
527527
typeset env_dir="$WORKON_HOME/$env_name"

0 commit comments

Comments
 (0)