tests/test-install.t
author Matt Harbison <matt_harbison@yahoo.com>
Mon, 22 May 2017 21:45:02 -0400
changeset 32677 f840b2621cce
parent 32209 85dc5a25f1fc
child 32727 c94c1aeb35fb
permissions -rw-r--r--
killdaemons: close pid file before killing processes With #serve enabled on Windows, I was getting occasional stacktraces like this: Errored test-hgweb-json.t: Traceback (most recent call last): File "./run-tests.py", line 724, in run self.tearDown() File "./run-tests.py", line 805, in tearDown killdaemons(entry) File "./run-tests.py", line 540, in killdaemons logfn=vlog) File "...\tests\killdaemons.py", line 94, in killdaemons os.unlink(pidfile) WindowsError: [Error 32] The process cannot access the file because it is being used by another process: '...\\hgtests.zmpqj3\\child80\\daemon.pids' Adrian suggested using util.posixfile, which works. However, the 'mercurial' package isn't in sys.path when invoking run-tests.py, and it isn't clear that hacking[1] it in is a good thing (especially for test-run-tests.t, which uses an installation in a temp folder). I tried using ProcessMonitor to figure out what the other process is, but that monitoring slows things down to such a degree that the issue doesn't occur. I was ready to blame the virus scanner, but it happens without that too. Looking at the code, I don't see anything that would have the pid file open. But I was able to get through about 20 full test runs without an issue with this minor change, whereas before it was pretty certain to hit this at least once in two or three runs. [1] https://www.mercurial-scm.org/pipermail/mercurial-devel/2017-May/097907.html
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)
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,
32209
85dc5a25f1fc debuginstall: check C extensions only if they are loadable per policy
Yuya Nishihara <yuya@tcha.org>
parents: 31098
diff changeset
    37
    "extensionserror": null, (no-pure !)
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