##// END OF EJS Templates
tests: make test-install.t work on debian systems...
Kyle Lippincott -
r45927:d71693f7 default
parent child Browse files
Show More
@@ -1,255 +1,263
1 1 hg debuginstall
2 2 $ hg debuginstall
3 3 checking encoding (ascii)...
4 4 checking Python executable (*) (glob)
5 5 checking Python implementation (*) (glob)
6 6 checking Python version (2.*) (glob) (no-py3 !)
7 7 checking Python version (3.*) (glob) (py3 !)
8 8 checking Python lib (.*[Ll]ib.*)... (re)
9 9 checking Python security support (*) (glob)
10 10 TLS 1.2 not supported by Python install; network connections lack modern security (?)
11 11 SNI not supported by Python install; may have connectivity issues with some servers (?)
12 12 checking Rust extensions \((installed|missing)\) (re)
13 13 checking Mercurial version (*) (glob)
14 14 checking Mercurial custom build (*) (glob)
15 15 checking module policy (*) (glob)
16 16 checking installed modules (*mercurial)... (glob)
17 17 checking registered compression engines (*zlib*) (glob)
18 18 checking available compression engines (*zlib*) (glob)
19 19 checking available compression engines for wire protocol (*zlib*) (glob)
20 20 checking "re2" regexp engine \((available|missing)\) (re)
21 21 checking templates (*mercurial?templates)... (glob)
22 22 checking default template (*mercurial?templates?map-cmdline.default) (glob)
23 23 checking commit editor... (*) (glob)
24 24 checking username (test)
25 25 no problems detected
26 26
27 27 hg debuginstall JSON
28 28 $ hg debuginstall -Tjson | sed 's|\\\\|\\|g'
29 29 [
30 30 {
31 31 "compengines": ["bz2", "bz2truncated", "none", "zlib"*], (glob)
32 32 "compenginesavail": ["bz2", "bz2truncated", "none", "zlib"*], (glob)
33 33 "compenginesserver": [*"zlib"*], (glob)
34 34 "defaulttemplate": "*mercurial?templates?map-cmdline.default", (glob)
35 35 "defaulttemplateerror": null,
36 36 "defaulttemplatenotfound": "default",
37 37 "editor": "*", (glob)
38 38 "editornotfound": false,
39 39 "encoding": "ascii",
40 40 "encodingerror": null,
41 41 "extensionserror": null, (no-pure !)
42 42 "hgmodulepolicy": "*", (glob)
43 43 "hgmodules": "*mercurial", (glob)
44 44 "hgver": "*", (glob)
45 45 "hgverextra": "*", (glob)
46 46 "problems": 0,
47 47 "pythonexe": "*", (glob)
48 48 "pythonimplementation": "*", (glob)
49 49 "pythonlib": "*", (glob)
50 50 "pythonsecurity": [*], (glob)
51 51 "pythonver": "*.*.*", (glob)
52 52 "re2": (true|false), (re)
53 53 "templatedirs": "*mercurial?templates", (glob)
54 54 "username": "test",
55 55 "usernameerror": null,
56 56 "vinotfound": false
57 57 }
58 58 ]
59 59
60 60 hg debuginstall with no username
61 61 $ HGUSER= hg debuginstall
62 62 checking encoding (ascii)...
63 63 checking Python executable (*) (glob)
64 64 checking Python implementation (*) (glob)
65 65 checking Python version (2.*) (glob) (no-py3 !)
66 66 checking Python version (3.*) (glob) (py3 !)
67 67 checking Python lib (.*[Ll]ib.*)... (re)
68 68 checking Python security support (*) (glob)
69 69 TLS 1.2 not supported by Python install; network connections lack modern security (?)
70 70 SNI not supported by Python install; may have connectivity issues with some servers (?)
71 71 checking Rust extensions \((installed|missing)\) (re)
72 72 checking Mercurial version (*) (glob)
73 73 checking Mercurial custom build (*) (glob)
74 74 checking module policy (*) (glob)
75 75 checking installed modules (*mercurial)... (glob)
76 76 checking registered compression engines (*zlib*) (glob)
77 77 checking available compression engines (*zlib*) (glob)
78 78 checking available compression engines for wire protocol (*zlib*) (glob)
79 79 checking "re2" regexp engine \((available|missing)\) (re)
80 80 checking templates (*mercurial?templates)... (glob)
81 81 checking default template (*mercurial?templates?map-cmdline.default) (glob)
82 82 checking commit editor... (*) (glob)
83 83 checking username...
84 84 no username supplied
85 85 (specify a username in your configuration file)
86 86 1 problems detected, please check your install!
87 87 [1]
88 88
89 89 hg debuginstall with invalid encoding
90 90 $ HGENCODING=invalidenc hg debuginstall | grep encoding
91 91 checking encoding (invalidenc)...
92 92 unknown encoding: invalidenc
93 93
94 94 exception message in JSON
95 95
96 96 $ HGENCODING=invalidenc HGUSER= hg debuginstall -Tjson | grep error
97 97 "defaulttemplateerror": null,
98 98 "encodingerror": "unknown encoding: invalidenc",
99 99 "extensionserror": null, (no-pure !)
100 100 "usernameerror": "no username supplied",
101 101
102 102 path variables are expanded (~ is the same as $TESTTMP)
103 103 $ mkdir tools
104 104 $ touch tools/testeditor.exe
105 105 #if execbit
106 106 $ chmod 755 tools/testeditor.exe
107 107 #endif
108 108 $ HGEDITOR="~/tools/testeditor.exe" hg debuginstall
109 109 checking encoding (ascii)...
110 110 checking Python executable (*) (glob)
111 111 checking Python implementation (*) (glob)
112 112 checking Python version (2.*) (glob) (no-py3 !)
113 113 checking Python version (3.*) (glob) (py3 !)
114 114 checking Python lib (.*[Ll]ib.*)... (re)
115 115 checking Python security support (*) (glob)
116 116 TLS 1.2 not supported by Python install; network connections lack modern security (?)
117 117 SNI not supported by Python install; may have connectivity issues with some servers (?)
118 118 checking Rust extensions \((installed|missing)\) (re)
119 119 checking Mercurial version (*) (glob)
120 120 checking Mercurial custom build (*) (glob)
121 121 checking module policy (*) (glob)
122 122 checking installed modules (*mercurial)... (glob)
123 123 checking registered compression engines (*zlib*) (glob)
124 124 checking available compression engines (*zlib*) (glob)
125 125 checking available compression engines for wire protocol (*zlib*) (glob)
126 126 checking "re2" regexp engine \((available|missing)\) (re)
127 127 checking templates (*mercurial?templates)... (glob)
128 128 checking default template (*mercurial?templates?map-cmdline.default) (glob)
129 129 checking commit editor... ($TESTTMP/tools/testeditor.exe)
130 130 checking username (test)
131 131 no problems detected
132 132
133 133 print out the binary post-shlexsplit in the error message when commit editor is
134 134 not found (this is intentionally using backslashes to mimic a windows usecase).
135 135 $ HGEDITOR="c:\foo\bar\baz.exe -y -z" hg debuginstall
136 136 checking encoding (ascii)...
137 137 checking Python executable (*) (glob)
138 138 checking Python implementation (*) (glob)
139 139 checking Python version (2.*) (glob) (no-py3 !)
140 140 checking Python version (3.*) (glob) (py3 !)
141 141 checking Python lib (.*[Ll]ib.*)... (re)
142 142 checking Python security support (*) (glob)
143 143 TLS 1.2 not supported by Python install; network connections lack modern security (?)
144 144 SNI not supported by Python install; may have connectivity issues with some servers (?)
145 145 checking Rust extensions \((installed|missing)\) (re)
146 146 checking Mercurial version (*) (glob)
147 147 checking Mercurial custom build (*) (glob)
148 148 checking module policy (*) (glob)
149 149 checking installed modules (*mercurial)... (glob)
150 150 checking registered compression engines (*zlib*) (glob)
151 151 checking available compression engines (*zlib*) (glob)
152 152 checking available compression engines for wire protocol (*zlib*) (glob)
153 153 checking "re2" regexp engine \((available|missing)\) (re)
154 154 checking templates (*mercurial?templates)... (glob)
155 155 checking default template (*mercurial?templates?map-cmdline.default) (glob)
156 156 checking commit editor... (c:\foo\bar\baz.exe) (windows !)
157 157 Can't find editor 'c:\foo\bar\baz.exe' in PATH (windows !)
158 158 checking commit editor... (c:foobarbaz.exe) (no-windows !)
159 159 Can't find editor 'c:foobarbaz.exe' in PATH (no-windows !)
160 160 (specify a commit editor in your configuration file)
161 161 checking username (test)
162 162 1 problems detected, please check your install!
163 163 [1]
164 164
165 165 debuginstall extension support
166 166 $ hg debuginstall --config extensions.fsmonitor= --config fsmonitor.watchman_exe=false | grep atchman
167 167 fsmonitor checking for watchman binary... (false)
168 168 watchman binary missing or broken: warning: Watchman unavailable: watchman exited with code 1
169 169 Verify the json works too:
170 170 $ hg debuginstall --config extensions.fsmonitor= --config fsmonitor.watchman_exe=false -Tjson | grep atchman
171 171 "fsmonitor-watchman": "false",
172 172 "fsmonitor-watchman-error": "warning: Watchman unavailable: watchman exited with code 1",
173 173
174 174 Verify that Mercurial is installable with pip. Note that this MUST be
175 175 the last test in this file, because we do some nasty things to the
176 176 shell environment in order to make the virtualenv work reliably.
177 177
178 178 On Python 3, we use the venv module, which is part of the standard library.
179 179 But some Linux distros strip out this module's functionality involving pip,
180 180 so we have to look for the ensurepip module, which these distros strip out
181 181 completely.
182 182 On Python 2, we use the 3rd party virtualenv module, if available.
183 183
184 184 $ cd $TESTTMP
185 185 $ unset PYTHONPATH
186 186
187 187 #if py3 ensurepip
188 188 $ "$PYTHON" -m venv installenv >> pip.log
189 189
190 Hack: Debian does something a bit different in ensurepip.bootstrap. This makes
191 it so that pip thinks the 'wheel' wheel is installed so it can build wheels;
192 when it goes to try, however, it shells out to run `python3 -u <setup.py>`,
193 that *doesn't* get the 'wheel' wheel, and it fails with an invalid command
194 'bdist_wheel'. To fix this, we just delete the wheel from where Debian put it in
195 our virtual env. Then pip doesn't think it's installed and doesn't try to build.
196 $ rm installenv/share/python-wheels/wheel-*.whl >/dev/null 2>&1 || true
197
190 198 Note: we use this weird path to run pip and hg to avoid platform differences,
191 199 since it's bin on most platforms but Scripts on Windows.
192 200 $ ./installenv/*/pip install --no-index $TESTDIR/.. >> pip.log
193 201 Failed building wheel for mercurial (?)
194 202 $ ./installenv/*/hg debuginstall || cat pip.log
195 203 checking encoding (ascii)...
196 204 checking Python executable (*) (glob)
197 205 checking Python implementation (*) (glob)
198 206 checking Python version (3.*) (glob)
199 207 checking Python lib (*)... (glob)
200 208 checking Python security support (*) (glob)
201 209 checking Rust extensions \((installed|missing)\) (re)
202 210 checking Mercurial version (*) (glob)
203 211 checking Mercurial custom build (*) (glob)
204 212 checking module policy (*) (glob)
205 213 checking installed modules (*/mercurial)... (glob)
206 214 checking registered compression engines (*) (glob)
207 215 checking available compression engines (*) (glob)
208 216 checking available compression engines for wire protocol (*) (glob)
209 217 checking "re2" regexp engine \((available|missing)\) (re)
210 218 checking templates ($TESTTMP/installenv/*/site-packages/mercurial/templates)... (glob)
211 219 checking default template ($TESTTMP/installenv/*/site-packages/mercurial/templates/map-cmdline.default) (glob)
212 220 checking commit editor... (*) (glob)
213 221 checking username (test)
214 222 no problems detected
215 223 #endif
216 224
217 225 #if py2virtualenv
218 226
219 227 Note: --no-site-packages is deprecated, but some places have an
220 228 ancient virtualenv from their linux distro or similar and it's not yet
221 229 the default for them.
222 230
223 231 $ "$PYTHON" -m virtualenv --no-site-packages --never-download installenv >> pip.log
224 232 DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. (?)
225 233 DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support (?)
226 234
227 235 Note: we use this weird path to run pip and hg to avoid platform differences,
228 236 since it's bin on most platforms but Scripts on Windows.
229 237 $ ./installenv/*/pip install --no-index $TESTDIR/.. >> pip.log
230 238 DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. (?)
231 239 DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support (?)
232 240 $ ./installenv/*/hg debuginstall || cat pip.log
233 241 checking encoding (ascii)...
234 242 checking Python executable (*) (glob)
235 243 checking Python implementation (*) (glob)
236 244 checking Python version (2.*) (glob)
237 245 checking Python lib (*)... (glob)
238 246 checking Python security support (*) (glob)
239 247 TLS 1.2 not supported by Python install; network connections lack modern security (?)
240 248 SNI not supported by Python install; may have connectivity issues with some servers (?)
241 249 checking Rust extensions \((installed|missing)\) (re)
242 250 checking Mercurial version (*) (glob)
243 251 checking Mercurial custom build (*) (glob)
244 252 checking module policy (*) (glob)
245 253 checking installed modules (*/mercurial)... (glob)
246 254 checking registered compression engines (*) (glob)
247 255 checking available compression engines (*) (glob)
248 256 checking available compression engines for wire protocol (*) (glob)
249 257 checking "re2" regexp engine \((available|missing)\) (re)
250 258 checking templates ($TESTTMP/installenv/*/site-packages/mercurial/templates)... (glob)
251 259 checking default template ($TESTTMP/installenv/*/site-packages/mercurial/templates/map-cmdline.default) (glob)
252 260 checking commit editor... (*) (glob)
253 261 checking username (test)
254 262 no problems detected
255 263 #endif
General Comments 0
You need to be logged in to leave comments. Login now