-
Notifications
You must be signed in to change notification settings - Fork 26
Expand file tree
/
Copy pathtest_ls.sh
More file actions
executable file
·102 lines (87 loc) · 3.25 KB
/
test_ls.sh
File metadata and controls
executable file
·102 lines (87 loc) · 3.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# -*- mode: shell-script -*-
test_dir=$(cd $(dirname $0) && pwd)
source "$test_dir/setup.sh"
oneTimeSetUp() {
rm -rf "$WORKON_HOME"
mkdir -p "$WORKON_HOME"
load_wrappers
}
oneTimeTearDown() {
rm -rf "$WORKON_HOME"
}
setUp () {
echo
}
test_get_site_packages_dir () {
mkvirtualenv "lssitepackagestest" >/dev/null 2>&1
d=$(virtualenvwrapper_get_site_packages_dir)
echo "site-packages in $d"
assertTrue "site-packages dir $d does not exist" "[ -d $d ]"
deactivate
}
test_lssitepackages () {
mkvirtualenv "lssitepackagestest" >/dev/null 2>&1
contents="$(lssitepackages)"
assertTrue "did not find pip in site-packages: ${contents}" "echo $contents | grep -q pip"
deactivate
}
test_lssitepackages_space_in_name () {
# Only test with leading and internal spaces. Directory names with trailing spaces are legal,
# and work with virtualenv on OSX, but error out on Linux.
mkvirtualenv " space lssitepackagestest" >/dev/null 2>&1
contents="$(lssitepackages)"
assertTrue "did not find pip in site-packages: ${contents}" "echo $contents | grep -q pip"
deactivate
}
test_lssitepackages_add2virtualenv () {
mkvirtualenv "lssitepackagestest" >/dev/null 2>&1
parent_dir=$(dirname $(pwd))
base_dir=$(basename $(pwd))
add2virtualenv "../$base_dir"
contents="$(lssitepackages)"
actual=$(echo $contents | grep $base_dir)
expected=$(echo $contents)
assertSame "$expected" "$actual"
deactivate
}
test_lssitepackages_no_workon_home () {
old_home="$WORKON_HOME"
export WORKON_HOME="$WORKON_HOME/not_there"
rm -rf "$WORKON_HOME"
lssitepackages >"$old_home/output" 2>&1
output=$(cat "$old_home/output")
assertTrue "Did not see expected message" "echo $output | grep 'does not exist'"
WORKON_HOME="$old_home"
}
test_lsvirtualenv_no_workon_home () {
old_home="$WORKON_HOME"
export WORKON_HOME="$WORKON_HOME/not_there"
rm -rf "$WORKON_HOME"
lsvirtualenv >"$old_home/output" 2>&1
output=$(cat "$old_home/output")
assertTrue "Did not see expected message" "echo $output | grep -q 'does not exist'"
WORKON_HOME="$old_home"
}
test_lsvirtualenv_space_in_workon_home () {
old_home="$WORKON_HOME"
export WORKON_HOME="$WORKON_HOME/with space"
mkdir "$WORKON_HOME"
(cd "$WORKON_HOME"; virtualenv testenv) >/dev/null 2>&1
lsvirtualenv -b >"$old_home/output"
output=$(cat "$old_home/output")
assertTrue "Did not see expected message in \"$output\"" "echo $output | grep -q 'testenv'"
WORKON_HOME="$old_home"
}
test_lsvirtualenv_space_in_env_name () {
# Only test with leading and internal spaces. Directory names with trailing spaces are legal,
# and work with virtualenv on OSX, but error out on Linux.
mkvirtualenv " env with space" >/dev/null 2>&1
lsvirtualenv -b >"$WORKON_HOME/output" 2>&1
assertTrue "Did not see expected message in \"$output\"" "cat \"$WORKON_HOME/output\" | grep -q ' env with space'"
}
test_lsvirtualenv_blank_lines () {
# There should be no blank lines in the list of virtualenvs
mkvirtualenv "at-least-one-env" >/dev/null 2>&1
assertFalse "Found blank line in virtualenvwrapper_show_workon_options output" "virtualenvwrapper_show_workon_options | grep -q '^$'"
}
. "$test_dir/shunit2"