@@ -17,112 +17,125 @@ remove_version() {
17
17
}
18
18
19
19
create_virtualenv () {
20
- create_version " $@ "
20
+ create_version " $1 "
21
+ create_version " ${2:- $1 } "
22
+ mkdir -p " ${PYENV_ROOT} /versions/$1 /lib/python${2:- $1 } "
23
+ echo " ${PYENV_ROOT} /versions/${2:- $1 } " > " ${PYENV_ROOT} /versions/$1 /lib/python${2:- $1 } /orig-prefix.txt"
21
24
touch " ${PYENV_ROOT} /versions/$1 /bin/activate"
22
25
}
23
26
24
27
remove_virtualenv () {
25
- remove_version " $@ "
28
+ remove_version " $1 "
29
+ remove_version " ${2:- $1 } "
30
+ }
31
+
32
+ create_pyvenv () {
33
+ create_version " $1 "
34
+ create_version " ${2:- $1 } "
35
+ echo " home = ${PYENV_ROOT} /versions/${2:- $1 } /bin" > " ${PYENV_ROOT} /versions/$1 /pyvenv.cfg"
36
+ touch " ${PYENV_ROOT} /versions/$1 /bin/activate"
37
+ }
38
+
39
+ remove_pyvenv () {
40
+ remove_version " ${2:- $1 } "
41
+ }
42
+
43
+ create_conda () {
44
+ create_version " $1 "
45
+ create_version " ${2:- $1 } "
46
+ touch " ${PYENV_ROOT} /versions/$1 /bin/conda"
47
+ touch " ${PYENV_ROOT} /versions/$1 /bin/activate"
48
+ }
49
+
50
+ remove_conda () {
51
+ remove_version " ${2:- $1 } "
26
52
}
27
53
28
54
@test " display prefix with using sys.real_prefix" {
29
55
stub pyenv-version-name " echo venv27"
30
56
stub pyenv-prefix " venv27 : echo \" ${PYENV_ROOT} /versions/venv27\" "
31
- stub pyenv-exec " echo \" ${PYENV_ROOT} /versions/2.7.6\" "
32
- create_virtualenv " venv27"
57
+ create_virtualenv " venv27" " 2.7.6"
33
58
34
59
PYENV_VERSION=" venv27" run pyenv-virtualenv-prefix
35
60
36
- unstub pyenv-version-name
37
- unstub pyenv-prefix
38
- unstub pyenv-exec
39
- remove_virtualenv " venv27"
40
-
41
61
assert_success
42
62
assert_output << OUT
43
63
${PYENV_ROOT} /versions/2.7.6
44
64
OUT
65
+
66
+ unstub pyenv-version-name
67
+ unstub pyenv-prefix
68
+ remove_virtualenv " venv27" " 2.7.6"
45
69
}
46
70
47
71
@test " display prefixes with using sys.real_prefix" {
48
72
stub pyenv-version-name " echo venv27:venv32"
49
73
stub pyenv-prefix " venv27 : echo \" ${PYENV_ROOT} /versions/venv27\" " \
50
74
" venv32 : echo \" ${PYENV_ROOT} /versions/venv32\" "
51
- stub pyenv-exec " echo \" ${PYENV_ROOT} /versions/2.7.6\" " \
52
- " echo \" ${PYENV_ROOT} /versions/3.2.1\" "
53
- create_virtualenv " venv27"
54
- create_virtualenv " venv32"
75
+ create_virtualenv " venv27" " 2.7.6"
76
+ create_virtualenv " venv32" " 3.2.1"
55
77
56
78
PYENV_VERSION=" venv27:venv32" run pyenv-virtualenv-prefix
57
79
58
- unstub pyenv-version-name
59
- unstub pyenv-prefix
60
- unstub pyenv-exec
61
- remove_virtualenv " venv27"
62
- remove_virtualenv " venv32"
63
-
64
80
assert_success
65
81
assert_output << OUT
66
82
${PYENV_ROOT} /versions/2.7.6:${PYENV_ROOT} /versions/3.2.1
67
83
OUT
84
+
85
+ unstub pyenv-version-name
86
+ unstub pyenv-prefix
87
+ remove_virtualenv " venv27" " 2.7.6"
88
+ remove_virtualenv " venv32" " 3.2.1"
68
89
}
69
90
70
91
@test " display prefix with using sys.base_prefix" {
71
92
stub pyenv-version-name " echo venv33"
72
93
stub pyenv-prefix " venv33 : echo \" ${PYENV_ROOT} /versions/venv33\" "
73
- stub pyenv-exec " false" \
74
- " echo \" ${PYENV_ROOT} /versions/3.3.3\" "
75
- create_virtualenv " venv33"
94
+ create_virtualenv " venv33" " 3.3.3"
76
95
77
96
PYENV_VERSION=" venv33" run pyenv-virtualenv-prefix
78
97
79
- unstub pyenv-version-name
80
- unstub pyenv-prefix
81
- unstub pyenv-exec
82
- remove_virtualenv " venv33"
83
-
84
98
assert_success
85
99
assert_output << OUT
86
100
${PYENV_ROOT} /versions/3.3.3
87
101
OUT
102
+
103
+ unstub pyenv-version-name
104
+ unstub pyenv-prefix
105
+ remove_virtualenv " venv33" " 3.3.3"
88
106
}
89
107
90
108
@test " display prefixes with using sys.base_prefix" {
91
109
stub pyenv-version-name " echo venv33:venv34"
92
110
stub pyenv-prefix " venv33 : echo \" ${PYENV_ROOT} /versions/venv33\" " \
93
111
" venv34 : echo \" ${PYENV_ROOT} /versions/venv34\" "
94
- stub pyenv-exec " false" \
95
- " echo \" ${PYENV_ROOT} /versions/3.3.3\" " \
96
- " false" \
97
- " echo \" ${PYENV_ROOT} /versions/3.4.0\" "
98
- create_virtualenv " venv33"
99
- create_virtualenv " venv34"
112
+ create_virtualenv " venv33" " 3.3.3"
113
+ create_virtualenv " venv34" " 3.4.0"
100
114
101
115
PYENV_VERSION=" venv33:venv34" run pyenv-virtualenv-prefix
102
116
103
- unstub pyenv-version-name
104
- unstub pyenv-prefix
105
- unstub pyenv-exec
106
- remove_virtualenv " venv33"
107
- remove_virtualenv " venv34"
108
-
109
117
assert_success
110
118
assert_output << OUT
111
119
${PYENV_ROOT} /versions/3.3.3:${PYENV_ROOT} /versions/3.4.0
112
120
OUT
121
+
122
+ unstub pyenv-version-name
123
+ unstub pyenv-prefix
124
+ remove_virtualenv " venv33" " 3.3.3"
125
+ remove_virtualenv " venv34" " 3.4.0"
113
126
}
114
127
115
128
@test " should fail if the version is the system" {
116
129
stub pyenv-version-name " echo system"
117
130
118
131
PYENV_VERSION=" system" run pyenv-virtualenv-prefix
119
132
120
- unstub pyenv-version-name
121
-
122
133
assert_failure
123
134
assert_output << OUT
124
135
pyenv-virtualenv: version \` system' is not a virtualenv
125
136
OUT
137
+
138
+ unstub pyenv-version-name
126
139
}
127
140
128
141
@test " should fail if the version is not a virtualenv" {
@@ -132,37 +145,32 @@ OUT
132
145
133
146
PYENV_VERSION=" 3.4.0" run pyenv-virtualenv-prefix
134
147
135
- unstub pyenv-version-name
136
- unstub pyenv-prefix
137
- remove_version " 3.4.0"
138
-
139
148
assert_failure
140
149
assert_output << OUT
141
150
pyenv-virtualenv: version \` 3.4.0' is not a virtualenv
142
151
OUT
152
+
153
+ unstub pyenv-version-name
154
+ unstub pyenv-prefix
155
+ remove_version " 3.4.0"
143
156
}
144
157
145
158
@test " should fail if one of the versions is not a virtualenv" {
146
159
stub pyenv-version-name " echo venv33:3.4.0"
147
160
stub pyenv-prefix " venv33 : echo \" ${PYENV_ROOT} /versions/venv33\" " \
148
161
" 3.4.0 : echo \" ${PYENV_ROOT} /versions/3.4.0\" "
149
- stub pyenv-exec " false" \
150
- " echo \" ${PYENV_ROOT} /versions/3.3.3\" "
151
- create_virtualenv " venv33"
162
+ create_virtualenv " venv33" " 3.3.3"
152
163
create_version " 3.4.0"
153
164
154
165
PYENV_VERSION=" venv33:3.4.0" run pyenv-virtualenv-prefix
155
166
156
- unstub pyenv-version-name
157
- unstub pyenv-prefix
158
- unstub pyenv-exec
159
- remove_virtualenv " venv33"
160
- remove_version " 3.4.0"
161
-
162
167
assert_failure
163
168
assert_output << OUT
164
169
pyenv-virtualenv: version \` 3.4.0' is not a virtualenv
165
170
OUT
166
- }
167
-
168
171
172
+ unstub pyenv-version-name
173
+ unstub pyenv-prefix
174
+ remove_virtualenv " venv33" " 3.3.3"
175
+ remove_version " 3.4.0"
176
+ }
0 commit comments