annotate tests/test-install.t @ 31987:8823daaf4665

obsolescence: add test for the "branch replacement" logic during push, case D2 Mercurial checks for the introduction of new heads on push. Evolution comes into play to detect if existing branches on the server are being replaced by some of the new one we push. The current code for this logic is very basic (eg: issue4354) and was poorly tested. We have a better implementation coming in the evolve extension fixing these issues and with more serious tests coverage. In the process of upstreaming this improved logic, we start with adding the test case that are already passing with the current implementation. Once they are all in, we'll upstream the better implementation and the extra test cases. See inline documentation for details about the test case added in this changeset.
author Pierre-Yves David <pierre-yves.david@ens-lyon.org>
date Thu, 13 Apr 2017 16:27:42 +0200
parents 876f08f30ade
children 85dc5a25f1fc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4365
46280c004f22 change tests to use simplemerge by default
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3846
diff changeset
1 hg debuginstall
11917
b03cf2349a80 tests: unify test-install
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 9734
diff changeset
2 $ hg debuginstall
16934
0c9c41e53f1a debuginstall: lowercase status messages
Martin Geisler <mg@aragost.com>
parents: 15447
diff changeset
3 checking encoding (ascii)...
20741
f1dfef0a9352 debuginstall: change showing to checking for consistency and future checking
Matt Mackall <mpm@selenic.com>
parents: 20740
diff changeset
4 checking Python executable (*) (glob)
f1dfef0a9352 debuginstall: change showing to checking for consistency and future checking
Matt Mackall <mpm@selenic.com>
parents: 20740
diff changeset
5 checking Python version (2.*) (glob)
17392
bdd248666dbc debuginstall: show directory for Python lib
Adrian Buehlmann <adrian@cadifra.com>
parents: 16934
diff changeset
6 checking Python lib (*lib*)... (glob)
30222
7b428b00a1d4 commands: print security protocol support in debuginstall
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29266
diff changeset
7 checking Python security support (*) (glob)
7b428b00a1d4 commands: print security protocol support in debuginstall
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29266
diff changeset
8 TLS 1.2 not supported by Python install; network connections lack modern security (?)
7b428b00a1d4 commands: print security protocol support in debuginstall
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29266
diff changeset
9 SNI not supported by Python install; may have connectivity issues with some servers (?)
29197
c5f9ff302065 debuginstall: add mercurial version
timeless <timeless@mozdev.org>
parents: 29090
diff changeset
10 checking Mercurial version (*) (glob)
c5f9ff302065 debuginstall: add mercurial version
timeless <timeless@mozdev.org>
parents: 29090
diff changeset
11 checking Mercurial custom build (*) (glob)
29266
b3a677c82a35 debuginstall: expose modulepolicy
timeless <timeless@mozdev.org>
parents: 29219
diff changeset
12 checking module policy (*) (glob)
16934
0c9c41e53f1a debuginstall: lowercase status messages
Martin Geisler <mg@aragost.com>
parents: 15447
diff changeset
13 checking installed modules (*mercurial)... (glob)
30462
356406ac454f debuginstall: print compression engine support
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30222
diff changeset
14 checking registered compression engines (*zlib*) (glob)
356406ac454f debuginstall: print compression engine support
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30222
diff changeset
15 checking available compression engines (*zlib*) (glob)
30762
35b516f800e0 wireproto: advertise supported media types and compression formats
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30462
diff changeset
16 checking available compression engines for wire protocol (*zlib*) (glob)
16934
0c9c41e53f1a debuginstall: lowercase status messages
Martin Geisler <mg@aragost.com>
parents: 15447
diff changeset
17 checking templates (*mercurial?templates)... (glob)
28440
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
18 checking default template (*mercurial?templates?map-cmdline.default) (glob)
28626
60ee2593a270 tests: python executable should always be globbed
Sean Farley <sean@farley.io>
parents: 28544
diff changeset
19 checking commit editor... (* -c "import sys; sys.exit(0)") (glob)
28440
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
20 checking username (test)
16934
0c9c41e53f1a debuginstall: lowercase status messages
Martin Geisler <mg@aragost.com>
parents: 15447
diff changeset
21 no problems detected
9734
36c388a1aa51 commands: call ui.username carefully in debuginstall
Martin Geisler <mg@lazybytes.net>
parents: 4365
diff changeset
22
28440
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
23 hg debuginstall JSON
28885
d7e7b3dd44c8 test-install: fix output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 28626
diff changeset
24 $ hg debuginstall -Tjson | sed 's|\\\\|\\|g'
28440
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
25 [
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
26 {
30462
356406ac454f debuginstall: print compression engine support
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30222
diff changeset
27 "compengines": ["bz2", "bz2truncated", "none", "zlib"*], (glob)
356406ac454f debuginstall: print compression engine support
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30222
diff changeset
28 "compenginesavail": ["bz2", "bz2truncated", "none", "zlib"*], (glob)
30762
35b516f800e0 wireproto: advertise supported media types and compression formats
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30462
diff changeset
29 "compenginesserver": [*"zlib"*], (glob)
28440
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
30 "defaulttemplate": "*mercurial?templates?map-cmdline.default", (glob)
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
31 "defaulttemplateerror": null,
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
32 "defaulttemplatenotfound": "default",
28626
60ee2593a270 tests: python executable should always be globbed
Sean Farley <sean@farley.io>
parents: 28544
diff changeset
33 "editor": "* -c \"import sys; sys.exit(0)\"", (glob)
28440
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
34 "editornotfound": false,
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
35 "encoding": "ascii",
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
36 "encodingerror": null,
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
37 "extensionserror": null,
29266
b3a677c82a35 debuginstall: expose modulepolicy
timeless <timeless@mozdev.org>
parents: 29219
diff changeset
38 "hgmodulepolicy": "*", (glob)
28440
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
39 "hgmodules": "*mercurial", (glob)
29197
c5f9ff302065 debuginstall: add mercurial version
timeless <timeless@mozdev.org>
parents: 29090
diff changeset
40 "hgver": "*", (glob)
c5f9ff302065 debuginstall: add mercurial version
timeless <timeless@mozdev.org>
parents: 29090
diff changeset
41 "hgverextra": "*", (glob)
28440
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
42 "problems": 0,
28544
4d93d73b8aec tests: python executable path should always be globbed
Danek Duvall <danek.duvall@oracle.com>
parents: 28440
diff changeset
43 "pythonexe": "*", (glob)
28626
60ee2593a270 tests: python executable should always be globbed
Sean Farley <sean@farley.io>
parents: 28544
diff changeset
44 "pythonlib": "*", (glob)
30222
7b428b00a1d4 commands: print security protocol support in debuginstall
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29266
diff changeset
45 "pythonsecurity": [*], (glob)
28440
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
46 "pythonver": "*.*.*", (glob)
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
47 "templatedirs": "*mercurial?templates", (glob)
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
48 "username": "test",
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
49 "usernameerror": null,
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
50 "vinotfound": false
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
51 }
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
52 ]
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
53
11917
b03cf2349a80 tests: unify test-install
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 9734
diff changeset
54 hg debuginstall with no username
b03cf2349a80 tests: unify test-install
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 9734
diff changeset
55 $ HGUSER= hg debuginstall
16934
0c9c41e53f1a debuginstall: lowercase status messages
Martin Geisler <mg@aragost.com>
parents: 15447
diff changeset
56 checking encoding (ascii)...
20741
f1dfef0a9352 debuginstall: change showing to checking for consistency and future checking
Matt Mackall <mpm@selenic.com>
parents: 20740
diff changeset
57 checking Python executable (*) (glob)
f1dfef0a9352 debuginstall: change showing to checking for consistency and future checking
Matt Mackall <mpm@selenic.com>
parents: 20740
diff changeset
58 checking Python version (2.*) (glob)
17392
bdd248666dbc debuginstall: show directory for Python lib
Adrian Buehlmann <adrian@cadifra.com>
parents: 16934
diff changeset
59 checking Python lib (*lib*)... (glob)
30222
7b428b00a1d4 commands: print security protocol support in debuginstall
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29266
diff changeset
60 checking Python security support (*) (glob)
7b428b00a1d4 commands: print security protocol support in debuginstall
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29266
diff changeset
61 TLS 1.2 not supported by Python install; network connections lack modern security (?)
7b428b00a1d4 commands: print security protocol support in debuginstall
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29266
diff changeset
62 SNI not supported by Python install; may have connectivity issues with some servers (?)
29197
c5f9ff302065 debuginstall: add mercurial version
timeless <timeless@mozdev.org>
parents: 29090
diff changeset
63 checking Mercurial version (*) (glob)
c5f9ff302065 debuginstall: add mercurial version
timeless <timeless@mozdev.org>
parents: 29090
diff changeset
64 checking Mercurial custom build (*) (glob)
29266
b3a677c82a35 debuginstall: expose modulepolicy
timeless <timeless@mozdev.org>
parents: 29219
diff changeset
65 checking module policy (*) (glob)
16934
0c9c41e53f1a debuginstall: lowercase status messages
Martin Geisler <mg@aragost.com>
parents: 15447
diff changeset
66 checking installed modules (*mercurial)... (glob)
30462
356406ac454f debuginstall: print compression engine support
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30222
diff changeset
67 checking registered compression engines (*zlib*) (glob)
356406ac454f debuginstall: print compression engine support
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30222
diff changeset
68 checking available compression engines (*zlib*) (glob)
30762
35b516f800e0 wireproto: advertise supported media types and compression formats
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30462
diff changeset
69 checking available compression engines for wire protocol (*zlib*) (glob)
16934
0c9c41e53f1a debuginstall: lowercase status messages
Martin Geisler <mg@aragost.com>
parents: 15447
diff changeset
70 checking templates (*mercurial?templates)... (glob)
28440
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
71 checking default template (*mercurial?templates?map-cmdline.default) (glob)
28626
60ee2593a270 tests: python executable should always be globbed
Sean Farley <sean@farley.io>
parents: 28544
diff changeset
72 checking commit editor... (* -c "import sys; sys.exit(0)") (glob)
16934
0c9c41e53f1a debuginstall: lowercase status messages
Martin Geisler <mg@aragost.com>
parents: 15447
diff changeset
73 checking username...
20574
5614f8cf0861 ui: suggest config --edit when no username is set
Matt Mackall <mpm@selenic.com>
parents: 17392
diff changeset
74 no username supplied
12084
ff7c1118a83a Merge with stable
Martin Geisler <mg@aragost.com>
parents: 12004
diff changeset
75 (specify a username in your configuration file)
11917
b03cf2349a80 tests: unify test-install
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 9734
diff changeset
76 1 problems detected, please check your install!
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12084
diff changeset
77 [1]
24891
be4915009b09 debuginstall: expand the editor path before searching for it (issue4380)
Matt Harbison <matt_harbison@yahoo.com>
parents: 20741
diff changeset
78
be4915009b09 debuginstall: expand the editor path before searching for it (issue4380)
Matt Harbison <matt_harbison@yahoo.com>
parents: 20741
diff changeset
79 path variables are expanded (~ is the same as $TESTTMP)
be4915009b09 debuginstall: expand the editor path before searching for it (issue4380)
Matt Harbison <matt_harbison@yahoo.com>
parents: 20741
diff changeset
80 $ mkdir tools
be4915009b09 debuginstall: expand the editor path before searching for it (issue4380)
Matt Harbison <matt_harbison@yahoo.com>
parents: 20741
diff changeset
81 $ touch tools/testeditor.exe
be4915009b09 debuginstall: expand the editor path before searching for it (issue4380)
Matt Harbison <matt_harbison@yahoo.com>
parents: 20741
diff changeset
82 #if execbit
be4915009b09 debuginstall: expand the editor path before searching for it (issue4380)
Matt Harbison <matt_harbison@yahoo.com>
parents: 20741
diff changeset
83 $ chmod 755 tools/testeditor.exe
be4915009b09 debuginstall: expand the editor path before searching for it (issue4380)
Matt Harbison <matt_harbison@yahoo.com>
parents: 20741
diff changeset
84 #endif
be4915009b09 debuginstall: expand the editor path before searching for it (issue4380)
Matt Harbison <matt_harbison@yahoo.com>
parents: 20741
diff changeset
85 $ hg debuginstall --config ui.editor=~/tools/testeditor.exe
be4915009b09 debuginstall: expand the editor path before searching for it (issue4380)
Matt Harbison <matt_harbison@yahoo.com>
parents: 20741
diff changeset
86 checking encoding (ascii)...
be4915009b09 debuginstall: expand the editor path before searching for it (issue4380)
Matt Harbison <matt_harbison@yahoo.com>
parents: 20741
diff changeset
87 checking Python executable (*) (glob)
be4915009b09 debuginstall: expand the editor path before searching for it (issue4380)
Matt Harbison <matt_harbison@yahoo.com>
parents: 20741
diff changeset
88 checking Python version (*) (glob)
be4915009b09 debuginstall: expand the editor path before searching for it (issue4380)
Matt Harbison <matt_harbison@yahoo.com>
parents: 20741
diff changeset
89 checking Python lib (*lib*)... (glob)
30222
7b428b00a1d4 commands: print security protocol support in debuginstall
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29266
diff changeset
90 checking Python security support (*) (glob)
7b428b00a1d4 commands: print security protocol support in debuginstall
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29266
diff changeset
91 TLS 1.2 not supported by Python install; network connections lack modern security (?)
7b428b00a1d4 commands: print security protocol support in debuginstall
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29266
diff changeset
92 SNI not supported by Python install; may have connectivity issues with some servers (?)
29197
c5f9ff302065 debuginstall: add mercurial version
timeless <timeless@mozdev.org>
parents: 29090
diff changeset
93 checking Mercurial version (*) (glob)
c5f9ff302065 debuginstall: add mercurial version
timeless <timeless@mozdev.org>
parents: 29090
diff changeset
94 checking Mercurial custom build (*) (glob)
29266
b3a677c82a35 debuginstall: expose modulepolicy
timeless <timeless@mozdev.org>
parents: 29219
diff changeset
95 checking module policy (*) (glob)
24891
be4915009b09 debuginstall: expand the editor path before searching for it (issue4380)
Matt Harbison <matt_harbison@yahoo.com>
parents: 20741
diff changeset
96 checking installed modules (*mercurial)... (glob)
30462
356406ac454f debuginstall: print compression engine support
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30222
diff changeset
97 checking registered compression engines (*zlib*) (glob)
356406ac454f debuginstall: print compression engine support
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30222
diff changeset
98 checking available compression engines (*zlib*) (glob)
30762
35b516f800e0 wireproto: advertise supported media types and compression formats
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30462
diff changeset
99 checking available compression engines for wire protocol (*zlib*) (glob)
24891
be4915009b09 debuginstall: expand the editor path before searching for it (issue4380)
Matt Harbison <matt_harbison@yahoo.com>
parents: 20741
diff changeset
100 checking templates (*mercurial?templates)... (glob)
28440
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
101 checking default template (*mercurial?templates?map-cmdline.default) (glob)
28626
60ee2593a270 tests: python executable should always be globbed
Sean Farley <sean@farley.io>
parents: 28544
diff changeset
102 checking commit editor... (* -c "import sys; sys.exit(0)") (glob)
28440
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
103 checking username (test)
24891
be4915009b09 debuginstall: expand the editor path before searching for it (issue4380)
Matt Harbison <matt_harbison@yahoo.com>
parents: 20741
diff changeset
104 no problems detected
27383
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
105
27442
f67c6d8cc606 test-install: perform the wix checking on wdir() instead of "."
Matt Harbison <matt_harbison@yahoo.com>
parents: 27384
diff changeset
106 #if test-repo
29219
3c9066ed557c tests: silence test-repo obsolete warning
timeless <timeless@mozdev.org>
parents: 29197
diff changeset
107 $ . "$TESTDIR/helpers-testrepo.sh"
3c9066ed557c tests: silence test-repo obsolete warning
timeless <timeless@mozdev.org>
parents: 29197
diff changeset
108
27383
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
109 $ cat >> wixxml.py << EOF
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
110 > import os, subprocess, sys
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
111 > import xml.etree.ElementTree as ET
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
112 >
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
113 > # MSYS mangles the path if it expands $TESTDIR
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
114 > testdir = os.environ['TESTDIR']
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
115 > ns = {'wix' : 'http://schemas.microsoft.com/wix/2006/wi'}
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
116 >
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
117 > def directory(node, relpath):
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
118 > '''generator of files in the xml node, rooted at relpath'''
27519
f4517c88ab81 test-install: embed wix namespace for Python 2.6 compatibility
Yuya Nishihara <yuya@tcha.org>
parents: 27442
diff changeset
119 > dirs = node.findall('./{%(wix)s}Directory' % ns)
27383
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
120 >
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
121 > for d in dirs:
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
122 > for subfile in directory(d, relpath + d.attrib['Name'] + '/'):
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
123 > yield subfile
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
124 >
27519
f4517c88ab81 test-install: embed wix namespace for Python 2.6 compatibility
Yuya Nishihara <yuya@tcha.org>
parents: 27442
diff changeset
125 > files = node.findall('./{%(wix)s}Component/{%(wix)s}File' % ns)
27383
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
126 >
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
127 > for f in files:
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
128 > yield relpath + f.attrib['Name']
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
129 >
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
130 > def hgdirectory(relpath):
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
131 > '''generator of tracked files, rooted at relpath'''
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
132 > hgdir = "%s/../mercurial" % (testdir)
27442
f67c6d8cc606 test-install: perform the wix checking on wdir() instead of "."
Matt Harbison <matt_harbison@yahoo.com>
parents: 27384
diff changeset
133 > args = ['hg', '--cwd', hgdir, 'files', relpath]
27383
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
134 > proc = subprocess.Popen(args, stdout=subprocess.PIPE,
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
135 > stderr=subprocess.PIPE)
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
136 > output = proc.communicate()[0]
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
137 >
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
138 > slash = '/'
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
139 > for line in output.splitlines():
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
140 > if os.name == 'nt':
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
141 > yield line.replace(os.sep, slash)
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
142 > else:
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
143 > yield line
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
144 >
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
145 > tracked = [f for f in hgdirectory(sys.argv[1])]
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
146 >
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
147 > xml = ET.parse("%s/../contrib/wix/%s.wxs" % (testdir, sys.argv[1]))
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
148 > root = xml.getroot()
27519
f4517c88ab81 test-install: embed wix namespace for Python 2.6 compatibility
Yuya Nishihara <yuya@tcha.org>
parents: 27442
diff changeset
149 > dir = root.find('.//{%(wix)s}DirectoryRef' % ns)
27383
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
150 >
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
151 > installed = [f for f in directory(dir, '')]
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
152 >
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
153 > print('Not installed:')
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
154 > for f in sorted(set(tracked) - set(installed)):
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
155 > print(' %s' % f)
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
156 >
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
157 > print('Not tracked:')
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
158 > for f in sorted(set(installed) - set(tracked)):
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
159 > print(' %s' % f)
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
160 > EOF
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
161
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
162 $ python wixxml.py help
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
163 Not installed:
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
164 help/common.txt
29090
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents: 28885
diff changeset
165 help/hg-ssh.8.txt
27383
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
166 help/hg.1.txt
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
167 help/hgignore.5.txt
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
168 help/hgrc.5.txt
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
169 Not tracked:
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
170
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
171 $ python wixxml.py templates
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
172 Not installed:
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
173 Not tracked:
27442
f67c6d8cc606 test-install: perform the wix checking on wdir() instead of "."
Matt Harbison <matt_harbison@yahoo.com>
parents: 27384
diff changeset
174
f67c6d8cc606 test-install: perform the wix checking on wdir() instead of "."
Matt Harbison <matt_harbison@yahoo.com>
parents: 27384
diff changeset
175 #endif