tests/test-install.t
author Gregory Szorc <gregory.szorc@gmail.com>
Sun, 16 Oct 2016 10:38:52 -0700
changeset 30187 3e86261bf110
parent 29266 b3a677c82a35
child 30222 7b428b00a1d4
permissions -rw-r--r--
exchange: refactor APIs to obtain bundle data (API) Currently, exchange.getbundle() returns either a cg1unpacker or a util.chunkbuffer (in the case of bundle2). This is kinda OK, as both expose a .read() to consumers. However, localpeer.getbundle() has code inferring what the response type is based on arguments and converts the util.chunkbuffer returned in the bundle2 case to a bundle2.unbundle20 instance. This is a sign that the API for exchange.getbundle() is not ideal because it doesn't consistently return an "unbundler" instance. In addition, unbundlers mask the fact that there is an underlying generator of changegroup data. In both cg1 and bundle2, this generator is being fed into a util.chunkbuffer so it can be re-exposed as a file object. util.chunkbuffer is a nice abstraction. However, it should only be used "at the edges." This is because keeping data as a generator is more efficient than converting it to a chunkbuffer, especially if we convert that chunkbuffer back to a generator (as is the case in some code paths currently). This patch refactors exchange.getbundle() into exchange.getbundlechunks(). The new API returns an iterator of chunks instead of a file-like object. Callers of exchange.getbundle() have been updated to use the new API. There is a minor change of behavior in test-getbundle.t. This is because `hg debuggetbundle` isn't defining bundlecaps. As a result, a cg1 data stream and unpacker is being produced. This is getting fed into a new bundle20 instance via bundle2.writebundle(), which uses a backchannel mechanism between changegroup generation to add the "nbchanges" part parameter. I never liked this backchannel mechanism and I plan to remove it someday. `hg bundle` still produces the "nbchanges" part parameter, so there should be no user-visible change of behavior. I consider this "regression" a bug in `hg debuggetbundle`. And that bug is captured by an existing "TODO" in the code to use bundle2 capabilities.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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)
29197
c5f9ff302065 debuginstall: add mercurial version
timeless <timeless@mozdev.org>
parents: 29090
diff changeset
     7
  checking Mercurial version (*) (glob)
c5f9ff302065 debuginstall: add mercurial version
timeless <timeless@mozdev.org>
parents: 29090
diff changeset
     8
  checking Mercurial custom build (*) (glob)
29266
b3a677c82a35 debuginstall: expose modulepolicy
timeless <timeless@mozdev.org>
parents: 29219
diff changeset
     9
  checking module policy (*) (glob)
16934
0c9c41e53f1a debuginstall: lowercase status messages
Martin Geisler <mg@aragost.com>
parents: 15447
diff changeset
    10
  checking installed modules (*mercurial)... (glob)
0c9c41e53f1a debuginstall: lowercase status messages
Martin Geisler <mg@aragost.com>
parents: 15447
diff changeset
    11
  checking templates (*mercurial?templates)... (glob)
28440
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
    12
  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
    13
  checking commit editor... (* -c "import sys; sys.exit(0)") (glob)
28440
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
    14
  checking username (test)
16934
0c9c41e53f1a debuginstall: lowercase status messages
Martin Geisler <mg@aragost.com>
parents: 15447
diff changeset
    15
  no problems detected
9734
36c388a1aa51 commands: call ui.username carefully in debuginstall
Martin Geisler <mg@lazybytes.net>
parents: 4365
diff changeset
    16
28440
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
    17
hg debuginstall JSON
28885
d7e7b3dd44c8 test-install: fix output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 28626
diff changeset
    18
  $ hg debuginstall -Tjson | sed 's|\\\\|\\|g'
28440
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
    19
  [
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
    20
   {
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
    21
    "defaulttemplate": "*mercurial?templates?map-cmdline.default", (glob)
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
    22
    "defaulttemplateerror": null,
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
    23
    "defaulttemplatenotfound": "default",
28626
60ee2593a270 tests: python executable should always be globbed
Sean Farley <sean@farley.io>
parents: 28544
diff changeset
    24
    "editor": "* -c \"import sys; sys.exit(0)\"", (glob)
28440
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
    25
    "editornotfound": false,
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
    26
    "encoding": "ascii",
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
    27
    "encodingerror": null,
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
    28
    "extensionserror": null,
29266
b3a677c82a35 debuginstall: expose modulepolicy
timeless <timeless@mozdev.org>
parents: 29219
diff changeset
    29
    "hgmodulepolicy": "*", (glob)
28440
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
    30
    "hgmodules": "*mercurial", (glob)
29197
c5f9ff302065 debuginstall: add mercurial version
timeless <timeless@mozdev.org>
parents: 29090
diff changeset
    31
    "hgver": "*", (glob)
c5f9ff302065 debuginstall: add mercurial version
timeless <timeless@mozdev.org>
parents: 29090
diff changeset
    32
    "hgverextra": "*", (glob)
28440
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
    33
    "problems": 0,
28544
4d93d73b8aec tests: python executable path should always be globbed
Danek Duvall <danek.duvall@oracle.com>
parents: 28440
diff changeset
    34
    "pythonexe": "*", (glob)
28626
60ee2593a270 tests: python executable should always be globbed
Sean Farley <sean@farley.io>
parents: 28544
diff changeset
    35
    "pythonlib": "*", (glob)
28440
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
    36
    "pythonver": "*.*.*", (glob)
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
    37
    "templatedirs": "*mercurial?templates", (glob)
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
    38
    "username": "test",
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
    39
    "usernameerror": null,
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
    40
    "vinotfound": false
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
    41
   }
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
    42
  ]
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
    43
11917
b03cf2349a80 tests: unify test-install
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 9734
diff changeset
    44
hg debuginstall with no username
b03cf2349a80 tests: unify test-install
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 9734
diff changeset
    45
  $ HGUSER= hg debuginstall
16934
0c9c41e53f1a debuginstall: lowercase status messages
Martin Geisler <mg@aragost.com>
parents: 15447
diff changeset
    46
  checking encoding (ascii)...
20741
f1dfef0a9352 debuginstall: change showing to checking for consistency and future checking
Matt Mackall <mpm@selenic.com>
parents: 20740
diff changeset
    47
  checking Python executable (*) (glob)
f1dfef0a9352 debuginstall: change showing to checking for consistency and future checking
Matt Mackall <mpm@selenic.com>
parents: 20740
diff changeset
    48
  checking Python version (2.*) (glob)
17392
bdd248666dbc debuginstall: show directory for Python lib
Adrian Buehlmann <adrian@cadifra.com>
parents: 16934
diff changeset
    49
  checking Python lib (*lib*)... (glob)
29197
c5f9ff302065 debuginstall: add mercurial version
timeless <timeless@mozdev.org>
parents: 29090
diff changeset
    50
  checking Mercurial version (*) (glob)
c5f9ff302065 debuginstall: add mercurial version
timeless <timeless@mozdev.org>
parents: 29090
diff changeset
    51
  checking Mercurial custom build (*) (glob)
29266
b3a677c82a35 debuginstall: expose modulepolicy
timeless <timeless@mozdev.org>
parents: 29219
diff changeset
    52
  checking module policy (*) (glob)
16934
0c9c41e53f1a debuginstall: lowercase status messages
Martin Geisler <mg@aragost.com>
parents: 15447
diff changeset
    53
  checking installed modules (*mercurial)... (glob)
0c9c41e53f1a debuginstall: lowercase status messages
Martin Geisler <mg@aragost.com>
parents: 15447
diff changeset
    54
  checking templates (*mercurial?templates)... (glob)
28440
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
    55
  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
    56
  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
    57
  checking username...
20574
5614f8cf0861 ui: suggest config --edit when no username is set
Matt Mackall <mpm@selenic.com>
parents: 17392
diff changeset
    58
   no username supplied
12084
ff7c1118a83a Merge with stable
Martin Geisler <mg@aragost.com>
parents: 12004
diff changeset
    59
   (specify a username in your configuration file)
11917
b03cf2349a80 tests: unify test-install
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 9734
diff changeset
    60
  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
    61
  [1]
24891
be4915009b09 debuginstall: expand the editor path before searching for it (issue4380)
Matt Harbison <matt_harbison@yahoo.com>
parents: 20741
diff changeset
    62
be4915009b09 debuginstall: expand the editor path before searching for it (issue4380)
Matt Harbison <matt_harbison@yahoo.com>
parents: 20741
diff changeset
    63
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
    64
  $ mkdir tools
be4915009b09 debuginstall: expand the editor path before searching for it (issue4380)
Matt Harbison <matt_harbison@yahoo.com>
parents: 20741
diff changeset
    65
  $ 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
    66
#if execbit
be4915009b09 debuginstall: expand the editor path before searching for it (issue4380)
Matt Harbison <matt_harbison@yahoo.com>
parents: 20741
diff changeset
    67
  $ 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
    68
#endif
be4915009b09 debuginstall: expand the editor path before searching for it (issue4380)
Matt Harbison <matt_harbison@yahoo.com>
parents: 20741
diff changeset
    69
  $ 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
    70
  checking encoding (ascii)...
be4915009b09 debuginstall: expand the editor path before searching for it (issue4380)
Matt Harbison <matt_harbison@yahoo.com>
parents: 20741
diff changeset
    71
  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
    72
  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
    73
  checking Python lib (*lib*)... (glob)
29197
c5f9ff302065 debuginstall: add mercurial version
timeless <timeless@mozdev.org>
parents: 29090
diff changeset
    74
  checking Mercurial version (*) (glob)
c5f9ff302065 debuginstall: add mercurial version
timeless <timeless@mozdev.org>
parents: 29090
diff changeset
    75
  checking Mercurial custom build (*) (glob)
29266
b3a677c82a35 debuginstall: expose modulepolicy
timeless <timeless@mozdev.org>
parents: 29219
diff changeset
    76
  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
    77
  checking installed modules (*mercurial)... (glob)
be4915009b09 debuginstall: expand the editor path before searching for it (issue4380)
Matt Harbison <matt_harbison@yahoo.com>
parents: 20741
diff changeset
    78
  checking templates (*mercurial?templates)... (glob)
28440
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
    79
  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
    80
  checking commit editor... (* -c "import sys; sys.exit(0)") (glob)
28440
855d9b2eea67 debuginstall: convert to formatter
timeless <timeless@mozdev.org>
parents: 27684
diff changeset
    81
  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
    82
  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
    83
27442
f67c6d8cc606 test-install: perform the wix checking on wdir() instead of "."
Matt Harbison <matt_harbison@yahoo.com>
parents: 27384
diff changeset
    84
#if test-repo
29219
3c9066ed557c tests: silence test-repo obsolete warning
timeless <timeless@mozdev.org>
parents: 29197
diff changeset
    85
  $ . "$TESTDIR/helpers-testrepo.sh"
3c9066ed557c tests: silence test-repo obsolete warning
timeless <timeless@mozdev.org>
parents: 29197
diff changeset
    86
27383
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
    87
  $ 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
    88
  > 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
    89
  > 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
    90
  > 
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
    91
  > # 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
    92
  > 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
    93
  > 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
    94
  > 
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
    95
  > 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
    96
  >     '''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
    97
  >     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
    98
  > 
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
    99
  >     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
   100
  >         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
   101
  >             yield subfile
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
   102
  > 
27519
f4517c88ab81 test-install: embed wix namespace for Python 2.6 compatibility
Yuya Nishihara <yuya@tcha.org>
parents: 27442
diff changeset
   103
  >     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
   104
  > 
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
   105
  >     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
   106
  >         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
   107
  > 
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
   108
  > 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
   109
  >     '''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
   110
  >     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
   111
  >     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
   112
  >     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
   113
  >                             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
   114
  >     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
   115
  > 
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
   116
  >     slash = '/'
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
   117
  >     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
   118
  >         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
   119
  >             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
   120
  >         else:
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
   121
  >             yield line
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
   122
  > 
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
   123
  > 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
   124
  > 
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
   125
  > 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
   126
  > root = xml.getroot()
27519
f4517c88ab81 test-install: embed wix namespace for Python 2.6 compatibility
Yuya Nishihara <yuya@tcha.org>
parents: 27442
diff changeset
   127
  > 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
   128
  > 
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
   129
  > 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
   130
  > 
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
   131
  > 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
   132
  > 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
   133
  >     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
   134
  > 
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
   135
  > 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
   136
  > 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
   137
  >     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
   138
  > EOF
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
   139
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
   140
  $ 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
   141
  Not installed:
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
   142
    help/common.txt
29090
7b52cb384c38 hg-ssh: copy doc string to man page
Sean Farley <sean@farley.io>
parents: 28885
diff changeset
   143
    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
   144
    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
   145
    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
   146
    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
   147
  Not tracked:
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
   148
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
   149
  $ 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
   150
  Not installed:
b1160299a175 tests: add coverage to ensure Wix tracks 'help' and 'templates' files
Matt Harbison <matt_harbison@yahoo.com>
parents: 24891
diff changeset
   151
  Not tracked:
27442
f67c6d8cc606 test-install: perform the wix checking on wdir() instead of "."
Matt Harbison <matt_harbison@yahoo.com>
parents: 27384
diff changeset
   152
f67c6d8cc606 test-install: perform the wix checking on wdir() instead of "."
Matt Harbison <matt_harbison@yahoo.com>
parents: 27384
diff changeset
   153
#endif