##// END OF EJS Templates
packaging: ship all help .txt files on WiX...
Gregory Szorc -
r44016:697c2e32 default
parent child Browse files
Show More
@@ -1,65 +1,70 b''
1 <?xml version="1.0" encoding="utf-8"?>
1 <?xml version="1.0" encoding="utf-8"?>
2 <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
2 <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
3
3
4 <?include guids.wxi ?>
4 <?include guids.wxi ?>
5 <?include defines.wxi ?>
5 <?include defines.wxi ?>
6
6
7 <Fragment>
7 <Fragment>
8 <ComponentGroup Id='helpFolder'>
8 <ComponentGroup Id='helpFolder'>
9 <ComponentRef Id='help.root' />
9 <ComponentRef Id='help.root' />
10 <ComponentRef Id='help.internals' />
10 <ComponentRef Id='help.internals' />
11 </ComponentGroup>
11 </ComponentGroup>
12 </Fragment>
12 </Fragment>
13
13
14 <Fragment>
14 <Fragment>
15 <DirectoryRef Id="INSTALLDIR">
15 <DirectoryRef Id="INSTALLDIR">
16 <Directory Id="helpdir" Name="help" FileSource="$(var.SourceDir)">
16 <Directory Id="helpdir" Name="help" FileSource="$(var.SourceDir)">
17 <Component Id="help.root" Guid="$(var.help.root.guid)" Win64='$(var.IsX64)'>
17 <Component Id="help.root" Guid="$(var.help.root.guid)" Win64='$(var.IsX64)'>
18 <File Name="bundlespec.txt" />
18 <File Name="bundlespec.txt" />
19 <File Name="color.txt" />
19 <File Name="color.txt" />
20 <File Name="common.txt" />
20 <File Name="config.txt" KeyPath="yes" />
21 <File Name="config.txt" KeyPath="yes" />
21 <File Name="dates.txt" />
22 <File Name="dates.txt" />
22 <File Name="deprecated.txt" />
23 <File Name="deprecated.txt" />
23 <File Name="diffs.txt" />
24 <File Name="diffs.txt" />
24 <File Name="environment.txt" />
25 <File Name="environment.txt" />
25 <File Name="extensions.txt" />
26 <File Name="extensions.txt" />
26 <File Name="filesets.txt" />
27 <File Name="filesets.txt" />
27 <File Name="flags.txt" />
28 <File Name="flags.txt" />
28 <File Name="glossary.txt" />
29 <File Name="glossary.txt" />
30 <File Name="hg-ssh.8.txt" />
31 <File Name="hg.1.txt" />
32 <File Name="hgignore.5.txt" />
29 <File Name="hgignore.txt" />
33 <File Name="hgignore.txt" />
34 <File Name="hgrc.5.txt" />
30 <File Name="hgweb.txt" />
35 <File Name="hgweb.txt" />
31 <File Name="merge-tools.txt" />
36 <File Name="merge-tools.txt" />
32 <File Name="pager.txt" />
37 <File Name="pager.txt" />
33 <File Name="patterns.txt" />
38 <File Name="patterns.txt" />
34 <File Name="phases.txt" />
39 <File Name="phases.txt" />
35 <File Name="revisions.txt" />
40 <File Name="revisions.txt" />
36 <File Name="scripting.txt" />
41 <File Name="scripting.txt" />
37 <File Name="subrepos.txt" />
42 <File Name="subrepos.txt" />
38 <File Name="templates.txt" />
43 <File Name="templates.txt" />
39 <File Name="urls.txt" />
44 <File Name="urls.txt" />
40 </Component>
45 </Component>
41
46
42 <Directory Id="help.internaldir" Name="internals">
47 <Directory Id="help.internaldir" Name="internals">
43 <Component Id="help.internals" Guid="$(var.help.internals.guid)" Win64='$(var.IsX64)'>
48 <Component Id="help.internals" Guid="$(var.help.internals.guid)" Win64='$(var.IsX64)'>
44 <File Id="internals.bundle2.txt" Name="bundle2.txt" />
49 <File Id="internals.bundle2.txt" Name="bundle2.txt" />
45 <File Id="internals.bundles.txt" Name="bundles.txt" KeyPath="yes" />
50 <File Id="internals.bundles.txt" Name="bundles.txt" KeyPath="yes" />
46 <File Id="internals.cbor.txt" Name="cbor.txt" />
51 <File Id="internals.cbor.txt" Name="cbor.txt" />
47 <File Id="internals.censor.txt" Name="censor.txt" />
52 <File Id="internals.censor.txt" Name="censor.txt" />
48 <File Id="internals.changegroups.txt" Name="changegroups.txt" />
53 <File Id="internals.changegroups.txt" Name="changegroups.txt" />
49 <File Id="internals.config.txt" Name="config.txt" />
54 <File Id="internals.config.txt" Name="config.txt" />
50 <File Id="internals.extensions.txt" Name="extensions.txt" />
55 <File Id="internals.extensions.txt" Name="extensions.txt" />
51 <File Id="internals.linelog.txt" Name="linelog.txt" />
56 <File Id="internals.linelog.txt" Name="linelog.txt" />
52 <File Id="internals.mergestate.txt" Name="mergestate.txt" />
57 <File Id="internals.mergestate.txt" Name="mergestate.txt" />
53 <File Id="internals.requirements.txt" Name="requirements.txt" />
58 <File Id="internals.requirements.txt" Name="requirements.txt" />
54 <File Id="internals.revlogs.txt" Name="revlogs.txt" />
59 <File Id="internals.revlogs.txt" Name="revlogs.txt" />
55 <File Id="internals.wireprotocol.txt" Name="wireprotocol.txt" />
60 <File Id="internals.wireprotocol.txt" Name="wireprotocol.txt" />
56 <File Id="internals.wireprotocolrpc.txt" Name="wireprotocolrpc.txt" />
61 <File Id="internals.wireprotocolrpc.txt" Name="wireprotocolrpc.txt" />
57 <File Id="internals.wireprotocolv2.txt" Name="wireprotocolv2.txt" />
62 <File Id="internals.wireprotocolv2.txt" Name="wireprotocolv2.txt" />
58 </Component>
63 </Component>
59 </Directory>
64 </Directory>
60
65
61 </Directory>
66 </Directory>
62 </DirectoryRef>
67 </DirectoryRef>
63 </Fragment>
68 </Fragment>
64
69
65 </Wix>
70 </Wix>
@@ -1,315 +1,310 b''
1 hg debuginstall
1 hg debuginstall
2 $ hg debuginstall
2 $ hg debuginstall
3 checking encoding (ascii)...
3 checking encoding (ascii)...
4 checking Python executable (*) (glob)
4 checking Python executable (*) (glob)
5 checking Python version (2.*) (glob) (no-py3 !)
5 checking Python version (2.*) (glob) (no-py3 !)
6 checking Python version (3.*) (glob) (py3 !)
6 checking Python version (3.*) (glob) (py3 !)
7 checking Python lib (.*[Ll]ib.*)... (re)
7 checking Python lib (.*[Ll]ib.*)... (re)
8 checking Python security support (*) (glob)
8 checking Python security support (*) (glob)
9 TLS 1.2 not supported by Python install; network connections lack modern security (?)
9 TLS 1.2 not supported by Python install; network connections lack modern security (?)
10 SNI not supported by Python install; may have connectivity issues with some servers (?)
10 SNI not supported by Python install; may have connectivity issues with some servers (?)
11 checking Mercurial version (*) (glob)
11 checking Mercurial version (*) (glob)
12 checking Mercurial custom build (*) (glob)
12 checking Mercurial custom build (*) (glob)
13 checking module policy (*) (glob)
13 checking module policy (*) (glob)
14 checking installed modules (*mercurial)... (glob)
14 checking installed modules (*mercurial)... (glob)
15 checking registered compression engines (*zlib*) (glob)
15 checking registered compression engines (*zlib*) (glob)
16 checking available compression engines (*zlib*) (glob)
16 checking available compression engines (*zlib*) (glob)
17 checking available compression engines for wire protocol (*zlib*) (glob)
17 checking available compression engines for wire protocol (*zlib*) (glob)
18 checking "re2" regexp engine \((available|missing)\) (re)
18 checking "re2" regexp engine \((available|missing)\) (re)
19 checking templates (*mercurial?templates)... (glob)
19 checking templates (*mercurial?templates)... (glob)
20 checking default template (*mercurial?templates?map-cmdline.default) (glob)
20 checking default template (*mercurial?templates?map-cmdline.default) (glob)
21 checking commit editor... (*) (glob)
21 checking commit editor... (*) (glob)
22 checking username (test)
22 checking username (test)
23 no problems detected
23 no problems detected
24
24
25 hg debuginstall JSON
25 hg debuginstall JSON
26 $ hg debuginstall -Tjson | sed 's|\\\\|\\|g'
26 $ hg debuginstall -Tjson | sed 's|\\\\|\\|g'
27 [
27 [
28 {
28 {
29 "compengines": ["bz2", "bz2truncated", "none", "zlib"*], (glob)
29 "compengines": ["bz2", "bz2truncated", "none", "zlib"*], (glob)
30 "compenginesavail": ["bz2", "bz2truncated", "none", "zlib"*], (glob)
30 "compenginesavail": ["bz2", "bz2truncated", "none", "zlib"*], (glob)
31 "compenginesserver": [*"zlib"*], (glob)
31 "compenginesserver": [*"zlib"*], (glob)
32 "defaulttemplate": "*mercurial?templates?map-cmdline.default", (glob)
32 "defaulttemplate": "*mercurial?templates?map-cmdline.default", (glob)
33 "defaulttemplateerror": null,
33 "defaulttemplateerror": null,
34 "defaulttemplatenotfound": "default",
34 "defaulttemplatenotfound": "default",
35 "editor": "*", (glob)
35 "editor": "*", (glob)
36 "editornotfound": false,
36 "editornotfound": false,
37 "encoding": "ascii",
37 "encoding": "ascii",
38 "encodingerror": null,
38 "encodingerror": null,
39 "extensionserror": null, (no-pure !)
39 "extensionserror": null, (no-pure !)
40 "hgmodulepolicy": "*", (glob)
40 "hgmodulepolicy": "*", (glob)
41 "hgmodules": "*mercurial", (glob)
41 "hgmodules": "*mercurial", (glob)
42 "hgver": "*", (glob)
42 "hgver": "*", (glob)
43 "hgverextra": "*", (glob)
43 "hgverextra": "*", (glob)
44 "problems": 0,
44 "problems": 0,
45 "pythonexe": "*", (glob)
45 "pythonexe": "*", (glob)
46 "pythonlib": "*", (glob)
46 "pythonlib": "*", (glob)
47 "pythonsecurity": [*], (glob)
47 "pythonsecurity": [*], (glob)
48 "pythonver": "*.*.*", (glob)
48 "pythonver": "*.*.*", (glob)
49 "re2": (true|false), (re)
49 "re2": (true|false), (re)
50 "templatedirs": "*mercurial?templates", (glob)
50 "templatedirs": "*mercurial?templates", (glob)
51 "username": "test",
51 "username": "test",
52 "usernameerror": null,
52 "usernameerror": null,
53 "vinotfound": false
53 "vinotfound": false
54 }
54 }
55 ]
55 ]
56
56
57 hg debuginstall with no username
57 hg debuginstall with no username
58 $ HGUSER= hg debuginstall
58 $ HGUSER= hg debuginstall
59 checking encoding (ascii)...
59 checking encoding (ascii)...
60 checking Python executable (*) (glob)
60 checking Python executable (*) (glob)
61 checking Python version (2.*) (glob) (no-py3 !)
61 checking Python version (2.*) (glob) (no-py3 !)
62 checking Python version (3.*) (glob) (py3 !)
62 checking Python version (3.*) (glob) (py3 !)
63 checking Python lib (.*[Ll]ib.*)... (re)
63 checking Python lib (.*[Ll]ib.*)... (re)
64 checking Python security support (*) (glob)
64 checking Python security support (*) (glob)
65 TLS 1.2 not supported by Python install; network connections lack modern security (?)
65 TLS 1.2 not supported by Python install; network connections lack modern security (?)
66 SNI not supported by Python install; may have connectivity issues with some servers (?)
66 SNI not supported by Python install; may have connectivity issues with some servers (?)
67 checking Mercurial version (*) (glob)
67 checking Mercurial version (*) (glob)
68 checking Mercurial custom build (*) (glob)
68 checking Mercurial custom build (*) (glob)
69 checking module policy (*) (glob)
69 checking module policy (*) (glob)
70 checking installed modules (*mercurial)... (glob)
70 checking installed modules (*mercurial)... (glob)
71 checking registered compression engines (*zlib*) (glob)
71 checking registered compression engines (*zlib*) (glob)
72 checking available compression engines (*zlib*) (glob)
72 checking available compression engines (*zlib*) (glob)
73 checking available compression engines for wire protocol (*zlib*) (glob)
73 checking available compression engines for wire protocol (*zlib*) (glob)
74 checking "re2" regexp engine \((available|missing)\) (re)
74 checking "re2" regexp engine \((available|missing)\) (re)
75 checking templates (*mercurial?templates)... (glob)
75 checking templates (*mercurial?templates)... (glob)
76 checking default template (*mercurial?templates?map-cmdline.default) (glob)
76 checking default template (*mercurial?templates?map-cmdline.default) (glob)
77 checking commit editor... (*) (glob)
77 checking commit editor... (*) (glob)
78 checking username...
78 checking username...
79 no username supplied
79 no username supplied
80 (specify a username in your configuration file)
80 (specify a username in your configuration file)
81 1 problems detected, please check your install!
81 1 problems detected, please check your install!
82 [1]
82 [1]
83
83
84 hg debuginstall with invalid encoding
84 hg debuginstall with invalid encoding
85 $ HGENCODING=invalidenc hg debuginstall | grep encoding
85 $ HGENCODING=invalidenc hg debuginstall | grep encoding
86 checking encoding (invalidenc)...
86 checking encoding (invalidenc)...
87 unknown encoding: invalidenc
87 unknown encoding: invalidenc
88
88
89 exception message in JSON
89 exception message in JSON
90
90
91 $ HGENCODING=invalidenc HGUSER= hg debuginstall -Tjson | grep error
91 $ HGENCODING=invalidenc HGUSER= hg debuginstall -Tjson | grep error
92 "defaulttemplateerror": null,
92 "defaulttemplateerror": null,
93 "encodingerror": "unknown encoding: invalidenc",
93 "encodingerror": "unknown encoding: invalidenc",
94 "extensionserror": null, (no-pure !)
94 "extensionserror": null, (no-pure !)
95 "usernameerror": "no username supplied",
95 "usernameerror": "no username supplied",
96
96
97 path variables are expanded (~ is the same as $TESTTMP)
97 path variables are expanded (~ is the same as $TESTTMP)
98 $ mkdir tools
98 $ mkdir tools
99 $ touch tools/testeditor.exe
99 $ touch tools/testeditor.exe
100 #if execbit
100 #if execbit
101 $ chmod 755 tools/testeditor.exe
101 $ chmod 755 tools/testeditor.exe
102 #endif
102 #endif
103 $ HGEDITOR="~/tools/testeditor.exe" hg debuginstall
103 $ HGEDITOR="~/tools/testeditor.exe" hg debuginstall
104 checking encoding (ascii)...
104 checking encoding (ascii)...
105 checking Python executable (*) (glob)
105 checking Python executable (*) (glob)
106 checking Python version (2.*) (glob) (no-py3 !)
106 checking Python version (2.*) (glob) (no-py3 !)
107 checking Python version (3.*) (glob) (py3 !)
107 checking Python version (3.*) (glob) (py3 !)
108 checking Python lib (.*[Ll]ib.*)... (re)
108 checking Python lib (.*[Ll]ib.*)... (re)
109 checking Python security support (*) (glob)
109 checking Python security support (*) (glob)
110 TLS 1.2 not supported by Python install; network connections lack modern security (?)
110 TLS 1.2 not supported by Python install; network connections lack modern security (?)
111 SNI not supported by Python install; may have connectivity issues with some servers (?)
111 SNI not supported by Python install; may have connectivity issues with some servers (?)
112 checking Mercurial version (*) (glob)
112 checking Mercurial version (*) (glob)
113 checking Mercurial custom build (*) (glob)
113 checking Mercurial custom build (*) (glob)
114 checking module policy (*) (glob)
114 checking module policy (*) (glob)
115 checking installed modules (*mercurial)... (glob)
115 checking installed modules (*mercurial)... (glob)
116 checking registered compression engines (*zlib*) (glob)
116 checking registered compression engines (*zlib*) (glob)
117 checking available compression engines (*zlib*) (glob)
117 checking available compression engines (*zlib*) (glob)
118 checking available compression engines for wire protocol (*zlib*) (glob)
118 checking available compression engines for wire protocol (*zlib*) (glob)
119 checking "re2" regexp engine \((available|missing)\) (re)
119 checking "re2" regexp engine \((available|missing)\) (re)
120 checking templates (*mercurial?templates)... (glob)
120 checking templates (*mercurial?templates)... (glob)
121 checking default template (*mercurial?templates?map-cmdline.default) (glob)
121 checking default template (*mercurial?templates?map-cmdline.default) (glob)
122 checking commit editor... ($TESTTMP/tools/testeditor.exe)
122 checking commit editor... ($TESTTMP/tools/testeditor.exe)
123 checking username (test)
123 checking username (test)
124 no problems detected
124 no problems detected
125
125
126 print out the binary post-shlexsplit in the error message when commit editor is
126 print out the binary post-shlexsplit in the error message when commit editor is
127 not found (this is intentionally using backslashes to mimic a windows usecase).
127 not found (this is intentionally using backslashes to mimic a windows usecase).
128 $ HGEDITOR="c:\foo\bar\baz.exe -y -z" hg debuginstall
128 $ HGEDITOR="c:\foo\bar\baz.exe -y -z" hg debuginstall
129 checking encoding (ascii)...
129 checking encoding (ascii)...
130 checking Python executable (*) (glob)
130 checking Python executable (*) (glob)
131 checking Python version (2.*) (glob) (no-py3 !)
131 checking Python version (2.*) (glob) (no-py3 !)
132 checking Python version (3.*) (glob) (py3 !)
132 checking Python version (3.*) (glob) (py3 !)
133 checking Python lib (.*[Ll]ib.*)... (re)
133 checking Python lib (.*[Ll]ib.*)... (re)
134 checking Python security support (*) (glob)
134 checking Python security support (*) (glob)
135 TLS 1.2 not supported by Python install; network connections lack modern security (?)
135 TLS 1.2 not supported by Python install; network connections lack modern security (?)
136 SNI not supported by Python install; may have connectivity issues with some servers (?)
136 SNI not supported by Python install; may have connectivity issues with some servers (?)
137 checking Mercurial version (*) (glob)
137 checking Mercurial version (*) (glob)
138 checking Mercurial custom build (*) (glob)
138 checking Mercurial custom build (*) (glob)
139 checking module policy (*) (glob)
139 checking module policy (*) (glob)
140 checking installed modules (*mercurial)... (glob)
140 checking installed modules (*mercurial)... (glob)
141 checking registered compression engines (*zlib*) (glob)
141 checking registered compression engines (*zlib*) (glob)
142 checking available compression engines (*zlib*) (glob)
142 checking available compression engines (*zlib*) (glob)
143 checking available compression engines for wire protocol (*zlib*) (glob)
143 checking available compression engines for wire protocol (*zlib*) (glob)
144 checking "re2" regexp engine \((available|missing)\) (re)
144 checking "re2" regexp engine \((available|missing)\) (re)
145 checking templates (*mercurial?templates)... (glob)
145 checking templates (*mercurial?templates)... (glob)
146 checking default template (*mercurial?templates?map-cmdline.default) (glob)
146 checking default template (*mercurial?templates?map-cmdline.default) (glob)
147 checking commit editor... (c:\foo\bar\baz.exe) (windows !)
147 checking commit editor... (c:\foo\bar\baz.exe) (windows !)
148 Can't find editor 'c:\foo\bar\baz.exe' in PATH (windows !)
148 Can't find editor 'c:\foo\bar\baz.exe' in PATH (windows !)
149 checking commit editor... (c:foobarbaz.exe) (no-windows !)
149 checking commit editor... (c:foobarbaz.exe) (no-windows !)
150 Can't find editor 'c:foobarbaz.exe' in PATH (no-windows !)
150 Can't find editor 'c:foobarbaz.exe' in PATH (no-windows !)
151 (specify a commit editor in your configuration file)
151 (specify a commit editor in your configuration file)
152 checking username (test)
152 checking username (test)
153 1 problems detected, please check your install!
153 1 problems detected, please check your install!
154 [1]
154 [1]
155
155
156 debuginstall extension support
156 debuginstall extension support
157 $ hg debuginstall --config extensions.fsmonitor= --config fsmonitor.watchman_exe=false | grep atchman
157 $ hg debuginstall --config extensions.fsmonitor= --config fsmonitor.watchman_exe=false | grep atchman
158 fsmonitor checking for watchman binary... (false)
158 fsmonitor checking for watchman binary... (false)
159 watchman binary missing or broken: warning: Watchman unavailable: watchman exited with code 1
159 watchman binary missing or broken: warning: Watchman unavailable: watchman exited with code 1
160 Verify the json works too:
160 Verify the json works too:
161 $ hg debuginstall --config extensions.fsmonitor= --config fsmonitor.watchman_exe=false -Tjson | grep atchman
161 $ hg debuginstall --config extensions.fsmonitor= --config fsmonitor.watchman_exe=false -Tjson | grep atchman
162 "fsmonitor-watchman": "false",
162 "fsmonitor-watchman": "false",
163 "fsmonitor-watchman-error": "warning: Watchman unavailable: watchman exited with code 1",
163 "fsmonitor-watchman-error": "warning: Watchman unavailable: watchman exited with code 1",
164
164
165
165
166 #if test-repo
166 #if test-repo
167 $ . "$TESTDIR/helpers-testrepo.sh"
167 $ . "$TESTDIR/helpers-testrepo.sh"
168
168
169 $ cat >> wixxml.py << EOF
169 $ cat >> wixxml.py << EOF
170 > import os
170 > import os
171 > import subprocess
171 > import subprocess
172 > import sys
172 > import sys
173 > import xml.etree.ElementTree as ET
173 > import xml.etree.ElementTree as ET
174 > from mercurial import pycompat
174 > from mercurial import pycompat
175 >
175 >
176 > # MSYS mangles the path if it expands $TESTDIR
176 > # MSYS mangles the path if it expands $TESTDIR
177 > testdir = os.environ['TESTDIR']
177 > testdir = os.environ['TESTDIR']
178 > ns = {'wix' : 'http://schemas.microsoft.com/wix/2006/wi'}
178 > ns = {'wix' : 'http://schemas.microsoft.com/wix/2006/wi'}
179 >
179 >
180 > def directory(node, relpath):
180 > def directory(node, relpath):
181 > '''generator of files in the xml node, rooted at relpath'''
181 > '''generator of files in the xml node, rooted at relpath'''
182 > dirs = node.findall('./{%(wix)s}Directory' % ns)
182 > dirs = node.findall('./{%(wix)s}Directory' % ns)
183 >
183 >
184 > for d in dirs:
184 > for d in dirs:
185 > for subfile in directory(d, relpath + d.attrib['Name'] + '/'):
185 > for subfile in directory(d, relpath + d.attrib['Name'] + '/'):
186 > yield subfile
186 > yield subfile
187 >
187 >
188 > files = node.findall('./{%(wix)s}Component/{%(wix)s}File' % ns)
188 > files = node.findall('./{%(wix)s}Component/{%(wix)s}File' % ns)
189 >
189 >
190 > for f in files:
190 > for f in files:
191 > yield pycompat.sysbytes(relpath + f.attrib['Name'])
191 > yield pycompat.sysbytes(relpath + f.attrib['Name'])
192 >
192 >
193 > def hgdirectory(relpath):
193 > def hgdirectory(relpath):
194 > '''generator of tracked files, rooted at relpath'''
194 > '''generator of tracked files, rooted at relpath'''
195 > hgdir = "%s/../mercurial" % (testdir)
195 > hgdir = "%s/../mercurial" % (testdir)
196 > args = ['hg', '--cwd', hgdir, 'files', relpath]
196 > args = ['hg', '--cwd', hgdir, 'files', relpath]
197 > proc = subprocess.Popen(args, stdout=subprocess.PIPE,
197 > proc = subprocess.Popen(args, stdout=subprocess.PIPE,
198 > stderr=subprocess.PIPE)
198 > stderr=subprocess.PIPE)
199 > output = proc.communicate()[0]
199 > output = proc.communicate()[0]
200 >
200 >
201 > for line in output.splitlines():
201 > for line in output.splitlines():
202 > if os.name == 'nt':
202 > if os.name == 'nt':
203 > yield line.replace(pycompat.sysbytes(os.sep), b'/')
203 > yield line.replace(pycompat.sysbytes(os.sep), b'/')
204 > else:
204 > else:
205 > yield line
205 > yield line
206 >
206 >
207 > tracked = [f for f in hgdirectory(sys.argv[1])]
207 > tracked = [f for f in hgdirectory(sys.argv[1])]
208 >
208 >
209 > xml = ET.parse("%s/../contrib/packaging/wix/%s.wxs" % (testdir, sys.argv[1]))
209 > xml = ET.parse("%s/../contrib/packaging/wix/%s.wxs" % (testdir, sys.argv[1]))
210 > root = xml.getroot()
210 > root = xml.getroot()
211 > dir = root.find('.//{%(wix)s}DirectoryRef' % ns)
211 > dir = root.find('.//{%(wix)s}DirectoryRef' % ns)
212 >
212 >
213 > installed = [f for f in directory(dir, '')]
213 > installed = [f for f in directory(dir, '')]
214 >
214 >
215 > print('Not installed:')
215 > print('Not installed:')
216 > for f in sorted(set(tracked) - set(installed)):
216 > for f in sorted(set(tracked) - set(installed)):
217 > print(' %s' % pycompat.sysstr(f))
217 > print(' %s' % pycompat.sysstr(f))
218 >
218 >
219 > print('Not tracked:')
219 > print('Not tracked:')
220 > for f in sorted(set(installed) - set(tracked)):
220 > for f in sorted(set(installed) - set(tracked)):
221 > print(' %s' % pycompat.sysstr(f))
221 > print(' %s' % pycompat.sysstr(f))
222 > EOF
222 > EOF
223
223
224 $ ( testrepohgenv; "$PYTHON" wixxml.py help )
224 $ ( testrepohgenv; "$PYTHON" wixxml.py help )
225 Not installed:
225 Not installed:
226 help/common.txt
227 help/hg-ssh.8.txt
228 help/hg.1.txt
229 help/hgignore.5.txt
230 help/hgrc.5.txt
231 Not tracked:
226 Not tracked:
232
227
233 $ ( testrepohgenv; "$PYTHON" wixxml.py templates )
228 $ ( testrepohgenv; "$PYTHON" wixxml.py templates )
234 Not installed:
229 Not installed:
235 Not tracked:
230 Not tracked:
236
231
237 #endif
232 #endif
238
233
239 Verify that Mercurial is installable with pip. Note that this MUST be
234 Verify that Mercurial is installable with pip. Note that this MUST be
240 the last test in this file, because we do some nasty things to the
235 the last test in this file, because we do some nasty things to the
241 shell environment in order to make the virtualenv work reliably.
236 shell environment in order to make the virtualenv work reliably.
242
237
243 On Python 3, we use the venv module, which is part of the standard library.
238 On Python 3, we use the venv module, which is part of the standard library.
244 But some Linux distros strip out this module's functionality involving pip,
239 But some Linux distros strip out this module's functionality involving pip,
245 so we have to look for the ensurepip module, which these distros strip out
240 so we have to look for the ensurepip module, which these distros strip out
246 completely.
241 completely.
247 On Python 2, we use the 3rd party virtualenv module, if available.
242 On Python 2, we use the 3rd party virtualenv module, if available.
248
243
249 $ cd $TESTTMP
244 $ cd $TESTTMP
250 $ unset PYTHONPATH
245 $ unset PYTHONPATH
251
246
252 #if py3 ensurepip
247 #if py3 ensurepip
253 $ "$PYTHON" -m venv installenv >> pip.log
248 $ "$PYTHON" -m venv installenv >> pip.log
254
249
255 Note: we use this weird path to run pip and hg to avoid platform differences,
250 Note: we use this weird path to run pip and hg to avoid platform differences,
256 since it's bin on most platforms but Scripts on Windows.
251 since it's bin on most platforms but Scripts on Windows.
257 $ ./installenv/*/pip install --no-index $TESTDIR/.. >> pip.log
252 $ ./installenv/*/pip install --no-index $TESTDIR/.. >> pip.log
258 $ ./installenv/*/hg debuginstall || cat pip.log
253 $ ./installenv/*/hg debuginstall || cat pip.log
259 checking encoding (ascii)...
254 checking encoding (ascii)...
260 checking Python executable (*) (glob)
255 checking Python executable (*) (glob)
261 checking Python version (3.*) (glob)
256 checking Python version (3.*) (glob)
262 checking Python lib (*)... (glob)
257 checking Python lib (*)... (glob)
263 checking Python security support (*) (glob)
258 checking Python security support (*) (glob)
264 checking Mercurial version (*) (glob)
259 checking Mercurial version (*) (glob)
265 checking Mercurial custom build (*) (glob)
260 checking Mercurial custom build (*) (glob)
266 checking module policy (*) (glob)
261 checking module policy (*) (glob)
267 checking installed modules (*/mercurial)... (glob)
262 checking installed modules (*/mercurial)... (glob)
268 checking registered compression engines (*) (glob)
263 checking registered compression engines (*) (glob)
269 checking available compression engines (*) (glob)
264 checking available compression engines (*) (glob)
270 checking available compression engines for wire protocol (*) (glob)
265 checking available compression engines for wire protocol (*) (glob)
271 checking "re2" regexp engine \((available|missing)\) (re)
266 checking "re2" regexp engine \((available|missing)\) (re)
272 checking templates ($TESTTMP/installenv/*/site-packages/mercurial/templates)... (glob)
267 checking templates ($TESTTMP/installenv/*/site-packages/mercurial/templates)... (glob)
273 checking default template ($TESTTMP/installenv/*/site-packages/mercurial/templates/map-cmdline.default) (glob)
268 checking default template ($TESTTMP/installenv/*/site-packages/mercurial/templates/map-cmdline.default) (glob)
274 checking commit editor... (*) (glob)
269 checking commit editor... (*) (glob)
275 checking username (test)
270 checking username (test)
276 no problems detected
271 no problems detected
277 #endif
272 #endif
278
273
279 #if no-py3 virtualenv
274 #if no-py3 virtualenv
280
275
281 Note: --no-site-packages is deprecated, but some places have an
276 Note: --no-site-packages is deprecated, but some places have an
282 ancient virtualenv from their linux distro or similar and it's not yet
277 ancient virtualenv from their linux distro or similar and it's not yet
283 the default for them.
278 the default for them.
284
279
285 $ "$PYTHON" -m virtualenv --no-site-packages --never-download installenv >> pip.log
280 $ "$PYTHON" -m virtualenv --no-site-packages --never-download installenv >> pip.log
286 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. (?)
281 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. (?)
287 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 (?)
282 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 (?)
288
283
289 Note: we use this weird path to run pip and hg to avoid platform differences,
284 Note: we use this weird path to run pip and hg to avoid platform differences,
290 since it's bin on most platforms but Scripts on Windows.
285 since it's bin on most platforms but Scripts on Windows.
291 $ ./installenv/*/pip install --no-index $TESTDIR/.. >> pip.log
286 $ ./installenv/*/pip install --no-index $TESTDIR/.. >> pip.log
292 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. (?)
287 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. (?)
293 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 (?)
288 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 (?)
294 $ ./installenv/*/hg debuginstall || cat pip.log
289 $ ./installenv/*/hg debuginstall || cat pip.log
295 checking encoding (ascii)...
290 checking encoding (ascii)...
296 checking Python executable (*) (glob)
291 checking Python executable (*) (glob)
297 checking Python version (2.*) (glob)
292 checking Python version (2.*) (glob)
298 checking Python lib (*)... (glob)
293 checking Python lib (*)... (glob)
299 checking Python security support (*) (glob)
294 checking Python security support (*) (glob)
300 TLS 1.2 not supported by Python install; network connections lack modern security (?)
295 TLS 1.2 not supported by Python install; network connections lack modern security (?)
301 SNI not supported by Python install; may have connectivity issues with some servers (?)
296 SNI not supported by Python install; may have connectivity issues with some servers (?)
302 checking Mercurial version (*) (glob)
297 checking Mercurial version (*) (glob)
303 checking Mercurial custom build (*) (glob)
298 checking Mercurial custom build (*) (glob)
304 checking module policy (*) (glob)
299 checking module policy (*) (glob)
305 checking installed modules (*/mercurial)... (glob)
300 checking installed modules (*/mercurial)... (glob)
306 checking registered compression engines (*) (glob)
301 checking registered compression engines (*) (glob)
307 checking available compression engines (*) (glob)
302 checking available compression engines (*) (glob)
308 checking available compression engines for wire protocol (*) (glob)
303 checking available compression engines for wire protocol (*) (glob)
309 checking "re2" regexp engine \((available|missing)\) (re)
304 checking "re2" regexp engine \((available|missing)\) (re)
310 checking templates ($TESTTMP/installenv/*/site-packages/mercurial/templates)... (glob)
305 checking templates ($TESTTMP/installenv/*/site-packages/mercurial/templates)... (glob)
311 checking default template ($TESTTMP/installenv/*/site-packages/mercurial/templates/map-cmdline.default) (glob)
306 checking default template ($TESTTMP/installenv/*/site-packages/mercurial/templates/map-cmdline.default) (glob)
312 checking commit editor... (*) (glob)
307 checking commit editor... (*) (glob)
313 checking username (test)
308 checking username (test)
314 no problems detected
309 no problems detected
315 #endif
310 #endif
General Comments 0
You need to be logged in to leave comments. Login now