@@ -9,7 +9,7 @@ setup() {
9
9
stub_pyenv () {
10
10
export PYENV_VERSION=" $1 "
11
11
stub pyenv-version-name " echo \$ {PYENV_VERSION}"
12
- stub pyenv-prefix " : echo '${PYENV_ROOT} /versions/\ $ {PYENV_VERSION}'"
12
+ stub pyenv-prefix " : echo '${PYENV_ROOT} /versions/${PYENV_VERSION} '"
13
13
stub pyenv-hooks " virtualenv : echo"
14
14
stub pyenv-rehash " : echo rehashed"
15
15
}
@@ -22,68 +22,64 @@ unstub_pyenv() {
22
22
unstub pyenv-rehash
23
23
}
24
24
25
- create_executable () {
26
- mkdir -p " ${PYENV_ROOT} /versions/$1 /bin"
27
- touch " ${PYENV_ROOT} /versions/$1 /bin/$2 "
28
- chmod +x " ${PYENV_ROOT} /versions/$1 /bin/$2 "
29
- }
30
-
31
- remove_executable () {
32
- rm -f " ${PYENV_ROOT} /versions/$1 /bin/$2 "
33
-
34
- }
35
-
36
25
@test " use pyvenv if virtualenv is not available" {
37
- stub_pyenv " 3.4.0 "
38
- stub pyenv-which " virtualenv : false "
39
- stub pyenv-which " pyvenv : echo '${PYENV_ROOT} /versions/bin/pyvenv '"
26
+ stub_pyenv " 3.4.1 "
27
+ stub pyenv-prefix " : echo ' ${PYENV_ROOT} /versions/ ${PYENV_VERSION} ' "
28
+ stub pyenv-prefix " : echo '${PYENV_ROOT} /versions/${PYENV_VERSION} '"
40
29
stub pyenv-exec " echo PYENV_VERSION=\$ {PYENV_VERSION} \"\$ @\" "
41
30
stub pyenv-exec " bin=\" ${PYENV_ROOT} /versions/venv/bin\" ;mkdir -p \"\$ bin\" ;touch \"\$ bin/pip3.4\" ;echo PYENV_VERSION=\$ {PYENV_VERSION} ensurepip"
42
31
stub pyenv-exec " echo 3.4"
43
32
33
+ remove_executable " 3.4.1" " virtualenv"
34
+ create_executable " 3.4.1" " pyvenv"
35
+
44
36
run pyenv-virtualenv venv
45
37
46
38
assert_success
47
39
assert_output << OUT
48
- PYENV_VERSION=3.4.0 pyvenv ${PYENV_ROOT} /versions/venv
40
+ PYENV_VERSION=3.4.1 pyvenv ${PYENV_ROOT} /versions/venv
49
41
PYENV_VERSION=venv ensurepip
50
42
rehashed
51
43
OUT
52
44
assert [ -e " ${PYENV_ROOT} /versions/venv/bin/pip" ]
53
45
54
46
unstub_pyenv
55
- unstub pyenv-which
56
47
unstub pyenv-exec
57
48
}
58
49
59
50
@test " not use pyvenv if virtualenv is available" {
60
- stub_pyenv " 3.4.0 "
61
- stub pyenv-which " virtualenv : echo '${PYENV_ROOT} /versions/bin/virtualenv '"
62
- stub pyenv-which " pyvenv : echo '${PYENV_ROOT} /versions/bin/pyvenv "
51
+ stub_pyenv " 3.4.1 "
52
+ stub pyenv-prefix " : echo '${PYENV_ROOT} /versions/${PYENV_VERSION} '"
53
+ stub pyenv-prefix " : echo '${PYENV_ROOT} /versions/${PYENV_VERSION} ' "
63
54
stub pyenv-exec " echo PYENV_VERSION=\$ {PYENV_VERSION} \"\$ @\" "
64
55
stub pyenv-exec " echo 3.4"
65
56
57
+ create_executable " 3.4.1" " virtualenv"
58
+ create_executable " 3.4.1" " pyvenv"
59
+
66
60
run pyenv-virtualenv venv
67
61
68
62
assert_success
69
63
assert_output << OUT
70
- PYENV_VERSION=3.4.0 virtualenv ${PYENV_ROOT} /versions/venv
64
+ PYENV_VERSION=3.4.1 virtualenv ${PYENV_ROOT} /versions/venv
71
65
rehashed
72
66
OUT
73
67
74
68
unstub_pyenv
75
- unstub pyenv-which
76
69
unstub pyenv-exec
77
70
}
78
71
79
72
@test " install virtualenv if pyvenv is not avaialble" {
80
73
stub_pyenv " 3.2.1"
81
- stub pyenv-which " virtualenv : false "
82
- stub pyenv-which " pyvenv : false "
74
+ stub pyenv-prefix " : echo ' ${PYENV_ROOT} /versions/ ${PYENV_VERSION} ' "
75
+ stub pyenv-prefix " : echo ' ${PYENV_ROOT} /versions/ ${PYENV_VERSION} ' "
83
76
stub pyenv-exec " echo PYENV_VERSION=\$ {PYENV_VERSION} \"\$ @\" "
84
77
stub pyenv-exec " echo PYENV_VERSION=\$ {PYENV_VERSION} \"\$ @\" "
85
78
stub pyenv-exec " echo 3.2"
86
79
80
+ remove_executable " 3.2.1" " virtualenv"
81
+ remove_executable " 3.2.1" " pyvenv"
82
+
87
83
run pyenv-virtualenv venv
88
84
89
85
assert_success
@@ -94,62 +90,68 @@ rehashed
94
90
OUT
95
91
96
92
unstub_pyenv
97
- unstub pyenv-which
98
93
unstub pyenv-exec
99
94
}
100
95
101
96
@test " install virtualenv if -p has given" {
102
- stub_pyenv " 3.4.0 "
103
- stub pyenv-which " virtualenv : false "
104
- stub pyenv-which " pyvenv : echo '${PYENV_ROOT} /versions/bin/pyvenv '"
97
+ stub_pyenv " 3.4.1 "
98
+ stub pyenv-prefix " : echo ' ${PYENV_ROOT} /versions/ ${PYENV_VERSION} ' "
99
+ stub pyenv-prefix " : echo '${PYENV_ROOT} /versions/${PYENV_VERSION} '"
105
100
stub pyenv-exec " echo PYENV_VERSION=\$ {PYENV_VERSION} \"\$ @\" "
106
101
stub pyenv-exec " echo PYENV_VERSION=\$ {PYENV_VERSION} \"\$ @\" "
107
102
stub pyenv-exec " echo 3.4"
108
103
104
+ remove_executable " 3.4.1" " virtualenv"
105
+ create_executable " 3.4.1" " pyvenv"
106
+
109
107
run pyenv-virtualenv -p python3 venv
110
108
111
109
assert_success
112
110
assert_output << OUT
113
- PYENV_VERSION=3.4.0 pip install virtualenv
114
- PYENV_VERSION=3.4.0 virtualenv --python=python3 ${PYENV_ROOT} /versions/venv
111
+ PYENV_VERSION=3.4.1 pip install virtualenv
112
+ PYENV_VERSION=3.4.1 virtualenv --python=python3 ${PYENV_ROOT} /versions/venv
115
113
rehashed
116
114
OUT
117
115
118
116
unstub_pyenv
119
- unstub pyenv-which
120
117
unstub pyenv-exec
121
118
}
122
119
123
120
@test " install virtualenv if --python has given" {
124
- stub_pyenv " 3.4.0 "
125
- stub pyenv-which " virtualenv : false "
126
- stub pyenv-which " pyvenv : echo '${PYENV_ROOT} /versions/bin/pyvenv '"
121
+ stub_pyenv " 3.4.1 "
122
+ stub pyenv-prefix " : echo ' ${PYENV_ROOT} /versions/ ${PYENV_VERSION} ' "
123
+ stub pyenv-prefix " : echo '${PYENV_ROOT} /versions/${PYENV_VERSION} '"
127
124
stub pyenv-exec " echo PYENV_VERSION=\$ {PYENV_VERSION} \"\$ @\" "
128
125
stub pyenv-exec " echo PYENV_VERSION=\$ {PYENV_VERSION} \"\$ @\" "
129
126
stub pyenv-exec " echo 3.4"
130
127
128
+ remove_executable " 3.4.1" " virtualenv"
129
+ create_executable " 3.4.1" " pyvenv"
130
+
131
131
run pyenv-virtualenv --python=python3 venv
132
132
133
133
assert_success
134
134
assert_output << OUT
135
- PYENV_VERSION=3.4.0 pip install virtualenv
136
- PYENV_VERSION=3.4.0 virtualenv --python=python3 ${PYENV_ROOT} /versions/venv
135
+ PYENV_VERSION=3.4.1 pip install virtualenv
136
+ PYENV_VERSION=3.4.1 virtualenv --python=python3 ${PYENV_ROOT} /versions/venv
137
137
rehashed
138
138
OUT
139
139
140
140
unstub_pyenv
141
- unstub pyenv-which
142
141
unstub pyenv-exec
143
142
}
144
143
145
144
@test " install virtualenv with unsetting troublesome pip options" {
146
145
stub_pyenv " 3.2.1"
147
- stub pyenv-which " virtualenv : false "
148
- stub pyenv-which " pyvenv : false "
146
+ stub pyenv-prefix " : echo ' ${PYENV_ROOT} /versions/ ${PYENV_VERSION} ' "
147
+ stub pyenv-prefix " : echo ' ${PYENV_ROOT} /versions/ ${PYENV_VERSION} ' "
149
148
stub pyenv-exec " echo PIP_REQUIRE_VENV=\$ {PIP_REQUIRE_VENV} PYENV_VERSION=\$ {PYENV_VERSION} \"\$ @\" "
150
149
stub pyenv-exec " echo PIP_REQUIRE_VENV=\$ {PIP_REQUIRE_VENV} PYENV_VERSION=\$ {PYENV_VERSION} \"\$ @\" "
151
150
stub pyenv-exec " echo 3.2"
152
151
152
+ remove_executable " 3.2.1" " virtualenv"
153
+ remove_executable " 3.2.1" " pyvenv"
154
+
153
155
PIP_REQUIRE_VENV=" true" run pyenv-virtualenv venv
154
156
155
157
assert_success
@@ -160,14 +162,13 @@ rehashed
160
162
OUT
161
163
162
164
unstub_pyenv
163
- unstub pyenv-which
164
165
unstub pyenv-exec
165
166
}
166
167
167
168
@test " install pip without using ensurepip" {
168
- stub_pyenv " 3.3.0 "
169
- stub pyenv-which " virtualenv : false "
170
- stub pyenv-which " pyvenv : echo '${PYENV_ROOT} /versions/bin/pyvenv '"
169
+ stub_pyenv " 3.3.5 "
170
+ stub pyenv-prefix " : echo ' ${PYENV_ROOT} /versions/ ${PYENV_VERSION} ' "
171
+ stub pyenv-prefix " : echo '${PYENV_ROOT} /versions/${PYENV_VERSION} '"
171
172
stub pyenv-which " pip : echo no pip; false"
172
173
stub pyenv-exec " echo PYENV_VERSION=\$ {PYENV_VERSION} \"\$ @\" "
173
174
stub pyenv-exec " echo PYENV_VERSION=\$ {PYENV_VERSION} no ensurepip; false"
@@ -178,11 +179,14 @@ OUT
178
179
stub curl " echo ez_setup.py"
179
180
stub curl " echo get_pip.py"
180
181
182
+ remove_executable " 3.3.5" " virtualenv"
183
+ create_executable " 3.3.5" " pyvenv"
184
+
181
185
run pyenv-virtualenv venv
182
186
183
187
assert_success
184
188
assert_output << OUT
185
- PYENV_VERSION=3.3.0 pyvenv ${PYENV_ROOT} /versions/venv
189
+ PYENV_VERSION=3.3.5 pyvenv ${PYENV_ROOT} /versions/venv
186
190
PYENV_VERSION=venv no ensurepip
187
191
PYENV_VERSION=venv setuptools
188
192
PYENV_VERSION=venv pip
0 commit comments