tests/common-pattern.py
author Augie Fackler <augie@google.com>
Tue, 13 Mar 2018 18:05:49 -0400
changeset 36941 3f7bbce8fbaa
parent 36924 03368431f014
child 36968 2090044a288d
permissions -rw-r--r--
hghave: fix xdiff check on Python 3 Differential Revision: https://phab.mercurial-scm.org/D2845
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
35070
3abdd7da33bd test-pattern: substitute common compression list
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     1
# common patterns in test at can safely be replaced
3abdd7da33bd test-pattern: substitute common compression list
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     2
from __future__ import absolute_import
3abdd7da33bd test-pattern: substitute common compression list
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     3
35449
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
     4
import os
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
     5
35070
3abdd7da33bd test-pattern: substitute common compression list
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     6
substitutions = [
3abdd7da33bd test-pattern: substitute common compression list
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     7
    # list of possible compressions
35234
f0445eea9b93 test: fix common-pattern for pure variant
Boris Feld <boris.feld@octobus.net>
parents: 35233
diff changeset
     8
    (br'(zstd,)?zlib,none,bzip2',
35070
3abdd7da33bd test-pattern: substitute common compression list
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     9
     br'$USUAL_COMPRESSIONS$'
3abdd7da33bd test-pattern: substitute common compression list
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    10
    ),
35806
ab239e3de23b tests: add a pattern to fix --pure tests
Augie Fackler <augie@google.com>
parents: 35792
diff changeset
    11
    (br'=(zstd,)?zlib',
ab239e3de23b tests: add a pattern to fix --pure tests
Augie Fackler <augie@google.com>
parents: 35792
diff changeset
    12
     br'=$BUNDLE2_COMPRESSIONS$'
ab239e3de23b tests: add a pattern to fix --pure tests
Augie Fackler <augie@google.com>
parents: 35792
diff changeset
    13
    ),
35071
b4767ae63b32 test-pattern: register current the bundlecaps string
Boris Feld <boris.feld@octobus.net>
parents: 35070
diff changeset
    14
    # capabilities sent through http
b4767ae63b32 test-pattern: register current the bundlecaps string
Boris Feld <boris.feld@octobus.net>
parents: 35070
diff changeset
    15
    (br'bundlecaps=HG20%2Cbundle2%3DHG20%250A'
35259
ad5f2b923b0d push: include a 'check:bookmarks' part when possible
Boris Feld <boris.feld@octobus.net>
parents: 35234
diff changeset
    16
     br'bookmarks%250A'
35071
b4767ae63b32 test-pattern: register current the bundlecaps string
Boris Feld <boris.feld@octobus.net>
parents: 35070
diff changeset
    17
     br'changegroup%253D01%252C02%250A'
b4767ae63b32 test-pattern: register current the bundlecaps string
Boris Feld <boris.feld@octobus.net>
parents: 35070
diff changeset
    18
     br'digests%253Dmd5%252Csha1%252Csha512%250A'
b4767ae63b32 test-pattern: register current the bundlecaps string
Boris Feld <boris.feld@octobus.net>
parents: 35070
diff changeset
    19
     br'error%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250A'
b4767ae63b32 test-pattern: register current the bundlecaps string
Boris Feld <boris.feld@octobus.net>
parents: 35070
diff changeset
    20
     br'hgtagsfnodes%250A'
b4767ae63b32 test-pattern: register current the bundlecaps string
Boris Feld <boris.feld@octobus.net>
parents: 35070
diff changeset
    21
     br'listkeys%250A'
b4767ae63b32 test-pattern: register current the bundlecaps string
Boris Feld <boris.feld@octobus.net>
parents: 35070
diff changeset
    22
     br'phases%253Dheads%250A'
b4767ae63b32 test-pattern: register current the bundlecaps string
Boris Feld <boris.feld@octobus.net>
parents: 35070
diff changeset
    23
     br'pushkey%250A'
35792
1d118f9f4f57 bundle2: always advertise client support for stream parts
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35449
diff changeset
    24
     br'remote-changegroup%253Dhttp%252Chttps%250A'
1d118f9f4f57 bundle2: always advertise client support for stream parts
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35449
diff changeset
    25
     br'stream%253Dv2',
35071
b4767ae63b32 test-pattern: register current the bundlecaps string
Boris Feld <boris.feld@octobus.net>
parents: 35070
diff changeset
    26
     # (the replacement patterns)
b4767ae63b32 test-pattern: register current the bundlecaps string
Boris Feld <boris.feld@octobus.net>
parents: 35070
diff changeset
    27
     br'$USUAL_BUNDLE_CAPS$'
b4767ae63b32 test-pattern: register current the bundlecaps string
Boris Feld <boris.feld@octobus.net>
parents: 35070
diff changeset
    28
    ),
35792
1d118f9f4f57 bundle2: always advertise client support for stream parts
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35449
diff changeset
    29
    (br'bundlecaps=HG20%2Cbundle2%3DHG20%250A'
1d118f9f4f57 bundle2: always advertise client support for stream parts
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35449
diff changeset
    30
     br'bookmarks%250A'
1d118f9f4f57 bundle2: always advertise client support for stream parts
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35449
diff changeset
    31
     br'changegroup%253D01%252C02%250A'
1d118f9f4f57 bundle2: always advertise client support for stream parts
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35449
diff changeset
    32
     br'digests%253Dmd5%252Csha1%252Csha512%250A'
1d118f9f4f57 bundle2: always advertise client support for stream parts
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35449
diff changeset
    33
     br'error%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250A'
1d118f9f4f57 bundle2: always advertise client support for stream parts
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35449
diff changeset
    34
     br'hgtagsfnodes%250A'
1d118f9f4f57 bundle2: always advertise client support for stream parts
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35449
diff changeset
    35
     br'listkeys%250A'
1d118f9f4f57 bundle2: always advertise client support for stream parts
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35449
diff changeset
    36
     br'phases%253Dheads%250A'
1d118f9f4f57 bundle2: always advertise client support for stream parts
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35449
diff changeset
    37
     br'pushkey%250A'
1d118f9f4f57 bundle2: always advertise client support for stream parts
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35449
diff changeset
    38
     br'remote-changegroup%253Dhttp%252Chttps',
1d118f9f4f57 bundle2: always advertise client support for stream parts
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35449
diff changeset
    39
     # (the replacement patterns)
1d118f9f4f57 bundle2: always advertise client support for stream parts
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35449
diff changeset
    40
     br'$USUAL_BUNDLE_CAPS_SERVER$'
1d118f9f4f57 bundle2: always advertise client support for stream parts
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35449
diff changeset
    41
     ),
35072
c4ec72a10798 test-pattern: register the current the bundle2 capabilities string
Boris Feld <boris.feld@octobus.net>
parents: 35071
diff changeset
    42
    # bundle2 capabilities sent through ssh
c4ec72a10798 test-pattern: register the current the bundle2 capabilities string
Boris Feld <boris.feld@octobus.net>
parents: 35071
diff changeset
    43
    (br'bundle2=HG20%0A'
35259
ad5f2b923b0d push: include a 'check:bookmarks' part when possible
Boris Feld <boris.feld@octobus.net>
parents: 35234
diff changeset
    44
     br'bookmarks%0A'
35072
c4ec72a10798 test-pattern: register the current the bundle2 capabilities string
Boris Feld <boris.feld@octobus.net>
parents: 35071
diff changeset
    45
     br'changegroup%3D01%2C02%0A'
c4ec72a10798 test-pattern: register the current the bundle2 capabilities string
Boris Feld <boris.feld@octobus.net>
parents: 35071
diff changeset
    46
     br'digests%3Dmd5%2Csha1%2Csha512%0A'
c4ec72a10798 test-pattern: register the current the bundle2 capabilities string
Boris Feld <boris.feld@octobus.net>
parents: 35071
diff changeset
    47
     br'error%3Dabort%2Cunsupportedcontent%2Cpushraced%2Cpushkey%0A'
c4ec72a10798 test-pattern: register the current the bundle2 capabilities string
Boris Feld <boris.feld@octobus.net>
parents: 35071
diff changeset
    48
     br'hgtagsfnodes%0A'
c4ec72a10798 test-pattern: register the current the bundle2 capabilities string
Boris Feld <boris.feld@octobus.net>
parents: 35071
diff changeset
    49
     br'listkeys%0A'
c4ec72a10798 test-pattern: register the current the bundle2 capabilities string
Boris Feld <boris.feld@octobus.net>
parents: 35071
diff changeset
    50
     br'phases%3Dheads%0A'
c4ec72a10798 test-pattern: register the current the bundle2 capabilities string
Boris Feld <boris.feld@octobus.net>
parents: 35071
diff changeset
    51
     br'pushkey%0A'
35792
1d118f9f4f57 bundle2: always advertise client support for stream parts
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35449
diff changeset
    52
     br'remote-changegroup%3Dhttp%2Chttps%0A'
1d118f9f4f57 bundle2: always advertise client support for stream parts
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35449
diff changeset
    53
     br'stream%3Dv2',
1d118f9f4f57 bundle2: always advertise client support for stream parts
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35449
diff changeset
    54
     # (replacement patterns)
1d118f9f4f57 bundle2: always advertise client support for stream parts
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35449
diff changeset
    55
     br'$USUAL_BUNDLE2_CAPS$'
1d118f9f4f57 bundle2: always advertise client support for stream parts
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35449
diff changeset
    56
    ),
1d118f9f4f57 bundle2: always advertise client support for stream parts
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35449
diff changeset
    57
    # bundle2 capabilities advertised by the server
1d118f9f4f57 bundle2: always advertise client support for stream parts
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35449
diff changeset
    58
    (br'bundle2=HG20%0A'
1d118f9f4f57 bundle2: always advertise client support for stream parts
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35449
diff changeset
    59
     br'bookmarks%0A'
1d118f9f4f57 bundle2: always advertise client support for stream parts
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35449
diff changeset
    60
     br'changegroup%3D01%2C02%0A'
1d118f9f4f57 bundle2: always advertise client support for stream parts
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35449
diff changeset
    61
     br'digests%3Dmd5%2Csha1%2Csha512%0A'
1d118f9f4f57 bundle2: always advertise client support for stream parts
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35449
diff changeset
    62
     br'error%3Dabort%2Cunsupportedcontent%2Cpushraced%2Cpushkey%0A'
1d118f9f4f57 bundle2: always advertise client support for stream parts
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35449
diff changeset
    63
     br'hgtagsfnodes%0A'
1d118f9f4f57 bundle2: always advertise client support for stream parts
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35449
diff changeset
    64
     br'listkeys%0A'
1d118f9f4f57 bundle2: always advertise client support for stream parts
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35449
diff changeset
    65
     br'phases%3Dheads%0A'
1d118f9f4f57 bundle2: always advertise client support for stream parts
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35449
diff changeset
    66
     br'pushkey%0A'
35072
c4ec72a10798 test-pattern: register the current the bundle2 capabilities string
Boris Feld <boris.feld@octobus.net>
parents: 35071
diff changeset
    67
     br'remote-changegroup%3Dhttp%2Chttps',
c4ec72a10798 test-pattern: register the current the bundle2 capabilities string
Boris Feld <boris.feld@octobus.net>
parents: 35071
diff changeset
    68
     # (replacement patterns)
35792
1d118f9f4f57 bundle2: always advertise client support for stream parts
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35449
diff changeset
    69
     br'$USUAL_BUNDLE2_CAPS_SERVER$'
1d118f9f4f57 bundle2: always advertise client support for stream parts
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35449
diff changeset
    70
     ),
35073
7f0c9e28a816 test-pattern: substitute the HTTP log timestamp too
Boris Feld <boris.feld@octobus.net>
parents: 35072
diff changeset
    71
    # HTTP log dates
36385
003ae586a02e tests: add HTTP POST and PUT support to the $LOGDATE$ substitution
Matt Harbison <matt_harbison@yahoo.com>
parents: 35806
diff changeset
    72
    (br' - - \[\d\d/.../2\d\d\d \d\d:\d\d:\d\d] "(GET|PUT|POST)',
003ae586a02e tests: add HTTP POST and PUT support to the $LOGDATE$ substitution
Matt Harbison <matt_harbison@yahoo.com>
parents: 35806
diff changeset
    73
     lambda m: br' - - [$LOGDATE$] "' + m.group(1)
35073
7f0c9e28a816 test-pattern: substitute the HTTP log timestamp too
Boris Feld <boris.feld@octobus.net>
parents: 35072
diff changeset
    74
    ),
36924
03368431f014 tests: add a substitution pattern for dates in HTTP headers and LFS payload
Matt Harbison <matt_harbison@yahoo.com>
parents: 36385
diff changeset
    75
    # HTTP header dates- RFC 1123
03368431f014 tests: add a substitution pattern for dates in HTTP headers and LFS payload
Matt Harbison <matt_harbison@yahoo.com>
parents: 36385
diff changeset
    76
    (br'Date: [A-Za-z]{3}, \d\d [A-Za-z]{3} \d{4} \d\d:\d\d:\d\d GMT',
03368431f014 tests: add a substitution pattern for dates in HTTP headers and LFS payload
Matt Harbison <matt_harbison@yahoo.com>
parents: 36385
diff changeset
    77
     br'Date: $HTTP_DATE$'
03368431f014 tests: add a substitution pattern for dates in HTTP headers and LFS payload
Matt Harbison <matt_harbison@yahoo.com>
parents: 36385
diff changeset
    78
    ),
03368431f014 tests: add a substitution pattern for dates in HTTP headers and LFS payload
Matt Harbison <matt_harbison@yahoo.com>
parents: 36385
diff changeset
    79
    # LFS expiration value
03368431f014 tests: add a substitution pattern for dates in HTTP headers and LFS payload
Matt Harbison <matt_harbison@yahoo.com>
parents: 36385
diff changeset
    80
    (br'"expires_at": "\d{4}-\d\d-\d\dT\d\d:\d\d:\d\dZ"',
03368431f014 tests: add a substitution pattern for dates in HTTP headers and LFS payload
Matt Harbison <matt_harbison@yahoo.com>
parents: 36385
diff changeset
    81
     br'"expires_at": "$ISO_8601_DATE_TIME$"'
03368431f014 tests: add a substitution pattern for dates in HTTP headers and LFS payload
Matt Harbison <matt_harbison@yahoo.com>
parents: 36385
diff changeset
    82
    ),
35446
991e4404e910 tests: convert the 'file://\$TESTTMP' rule to an automatic substitution
Matt Harbison <matt_harbison@yahoo.com>
parents: 35259
diff changeset
    83
    # Windows has an extra '/' in the following lines that get globbed away:
991e4404e910 tests: convert the 'file://\$TESTTMP' rule to an automatic substitution
Matt Harbison <matt_harbison@yahoo.com>
parents: 35259
diff changeset
    84
    #   pushing to file:/*/$TESTTMP/r2 (glob)
991e4404e910 tests: convert the 'file://\$TESTTMP' rule to an automatic substitution
Matt Harbison <matt_harbison@yahoo.com>
parents: 35259
diff changeset
    85
    #   comparing with file:/*/$TESTTMP/r2 (glob)
991e4404e910 tests: convert the 'file://\$TESTTMP' rule to an automatic substitution
Matt Harbison <matt_harbison@yahoo.com>
parents: 35259
diff changeset
    86
    #   sub/maybelarge.dat: largefile 34..9c not available from
991e4404e910 tests: convert the 'file://\$TESTTMP' rule to an automatic substitution
Matt Harbison <matt_harbison@yahoo.com>
parents: 35259
diff changeset
    87
    #       file:/*/$TESTTMP/largefiles-repo (glob)
991e4404e910 tests: convert the 'file://\$TESTTMP' rule to an automatic substitution
Matt Harbison <matt_harbison@yahoo.com>
parents: 35259
diff changeset
    88
    (br'(.*file:/)/?(/\$TESTTMP.*)',
991e4404e910 tests: convert the 'file://\$TESTTMP' rule to an automatic substitution
Matt Harbison <matt_harbison@yahoo.com>
parents: 35259
diff changeset
    89
     lambda m: m.group(1) + b'*' + m.group(2) + b' (glob)'
991e4404e910 tests: convert the 'file://\$TESTTMP' rule to an automatic substitution
Matt Harbison <matt_harbison@yahoo.com>
parents: 35259
diff changeset
    90
    ),
35070
3abdd7da33bd test-pattern: substitute common compression list
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    91
]
35230
feecfefeba25 tests: add a substitution for ENOENT/ERROR_FILE_NOT_FOUND messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 35073
diff changeset
    92
feecfefeba25 tests: add a substitution for ENOENT/ERROR_FILE_NOT_FOUND messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 35073
diff changeset
    93
# Various platform error strings, keyed on a common replacement string
feecfefeba25 tests: add a substitution for ENOENT/ERROR_FILE_NOT_FOUND messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 35073
diff changeset
    94
_errors = {
feecfefeba25 tests: add a substitution for ENOENT/ERROR_FILE_NOT_FOUND messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 35073
diff changeset
    95
    br'$ENOENT$': (
feecfefeba25 tests: add a substitution for ENOENT/ERROR_FILE_NOT_FOUND messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 35073
diff changeset
    96
        # strerror()
feecfefeba25 tests: add a substitution for ENOENT/ERROR_FILE_NOT_FOUND messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 35073
diff changeset
    97
        br'No such file or directory',
feecfefeba25 tests: add a substitution for ENOENT/ERROR_FILE_NOT_FOUND messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 35073
diff changeset
    98
feecfefeba25 tests: add a substitution for ENOENT/ERROR_FILE_NOT_FOUND messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 35073
diff changeset
    99
        # FormatMessage(ERROR_FILE_NOT_FOUND)
feecfefeba25 tests: add a substitution for ENOENT/ERROR_FILE_NOT_FOUND messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 35073
diff changeset
   100
        br'The system cannot find the file specified',
feecfefeba25 tests: add a substitution for ENOENT/ERROR_FILE_NOT_FOUND messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 35073
diff changeset
   101
    ),
35231
b33d4cf38666 tests: add a substitution for ENOTDIR/ERROR_PATH_NOT_FOUND messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
   102
    br'$ENOTDIR$': (
b33d4cf38666 tests: add a substitution for ENOTDIR/ERROR_PATH_NOT_FOUND messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
   103
        # strerror()
b33d4cf38666 tests: add a substitution for ENOTDIR/ERROR_PATH_NOT_FOUND messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
   104
        br'Not a directory',
b33d4cf38666 tests: add a substitution for ENOTDIR/ERROR_PATH_NOT_FOUND messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
   105
b33d4cf38666 tests: add a substitution for ENOTDIR/ERROR_PATH_NOT_FOUND messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
   106
        # FormatMessage(ERROR_PATH_NOT_FOUND)
b33d4cf38666 tests: add a substitution for ENOTDIR/ERROR_PATH_NOT_FOUND messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
   107
        br'The system cannot find the path specified',
b33d4cf38666 tests: add a substitution for ENOTDIR/ERROR_PATH_NOT_FOUND messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
   108
    ),
35232
a037b6647d8c tests: add a substitution for ECONNRESET/WSAECONNRESET messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 35231
diff changeset
   109
    br'$ECONNRESET$': (
a037b6647d8c tests: add a substitution for ECONNRESET/WSAECONNRESET messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 35231
diff changeset
   110
        # strerror()
a037b6647d8c tests: add a substitution for ECONNRESET/WSAECONNRESET messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 35231
diff changeset
   111
        br'Connection reset by peer',
a037b6647d8c tests: add a substitution for ECONNRESET/WSAECONNRESET messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 35231
diff changeset
   112
a037b6647d8c tests: add a substitution for ECONNRESET/WSAECONNRESET messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 35231
diff changeset
   113
        # FormatMessage(WSAECONNRESET)
a037b6647d8c tests: add a substitution for ECONNRESET/WSAECONNRESET messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 35231
diff changeset
   114
        br'An existing connection was forcibly closed by the remote host',
a037b6647d8c tests: add a substitution for ECONNRESET/WSAECONNRESET messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 35231
diff changeset
   115
    ),
35233
1b22d325089c tests: add a substitution for EADDRINUSE/WSAEADDRINUSE messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 35232
diff changeset
   116
    br'$EADDRINUSE$': (
1b22d325089c tests: add a substitution for EADDRINUSE/WSAEADDRINUSE messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 35232
diff changeset
   117
        # strerror()
1b22d325089c tests: add a substitution for EADDRINUSE/WSAEADDRINUSE messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 35232
diff changeset
   118
        br'Address already in use',
1b22d325089c tests: add a substitution for EADDRINUSE/WSAEADDRINUSE messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 35232
diff changeset
   119
1b22d325089c tests: add a substitution for EADDRINUSE/WSAEADDRINUSE messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 35232
diff changeset
   120
        # FormatMessage(WSAEADDRINUSE)
1b22d325089c tests: add a substitution for EADDRINUSE/WSAEADDRINUSE messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 35232
diff changeset
   121
        br'Only one usage of each socket address'
1b22d325089c tests: add a substitution for EADDRINUSE/WSAEADDRINUSE messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 35232
diff changeset
   122
        br' \(protocol/network address/port\) is normally permitted',
1b22d325089c tests: add a substitution for EADDRINUSE/WSAEADDRINUSE messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 35232
diff changeset
   123
    ),
35230
feecfefeba25 tests: add a substitution for ENOENT/ERROR_FILE_NOT_FOUND messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 35073
diff changeset
   124
}
feecfefeba25 tests: add a substitution for ENOENT/ERROR_FILE_NOT_FOUND messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 35073
diff changeset
   125
feecfefeba25 tests: add a substitution for ENOENT/ERROR_FILE_NOT_FOUND messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 35073
diff changeset
   126
for replace, msgs in _errors.items():
feecfefeba25 tests: add a substitution for ENOENT/ERROR_FILE_NOT_FOUND messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 35073
diff changeset
   127
    substitutions.extend((m, replace) for m in msgs)
35449
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   128
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   129
# Output lines on Windows that can be autocorrected for '\' vs '/' path
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   130
# differences.
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   131
_winpathfixes = [
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   132
    # cloning subrepo s\ss from $TESTTMP/t/s/ss
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   133
    # cloning subrepo foo\bar from http://localhost:$HGPORT/foo/bar
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   134
    br'(?m)^cloning subrepo \S+\\.*',
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   135
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   136
    # pulling from $TESTTMP\issue1852a
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   137
    br'(?m)^pulling from \$TESTTMP\\.*',
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   138
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   139
    # pushing to $TESTTMP\a
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   140
    br'(?m)^pushing to \$TESTTMP\\.*',
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   141
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   142
    # pushing subrepo s\ss to $TESTTMP/t/s/ss
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   143
    br'(?m)^pushing subrepo \S+\\\S+ to.*',
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   144
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   145
    # moving d1\d11\a1 to d3/d11/a1
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   146
    br'(?m)^moving \S+\\.*',
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   147
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   148
    # d1\a: not recording move - dummy does not exist
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   149
    br'\S+\\\S+: not recording move .+',
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   150
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   151
    # reverting s\a
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   152
    br'(?m)^reverting (?!subrepo ).*\\.*',
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   153
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   154
    # saved backup bundle to
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   155
    #     $TESTTMP\test\.hg\strip-backup/443431ffac4f-2fc5398a-backup.hg
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   156
    br'(?m)^saved backup bundle to \$TESTTMP.*\.hg',
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   157
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   158
    # no changes made to subrepo s\ss since last push to ../tcc/s/ss
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   159
    br'(?m)^no changes made to subrepo \S+\\\S+ since.*',
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   160
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   161
    # changeset 5:9cc5aa7204f0: stuff/maybelarge.dat references missing
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   162
    #     $TESTTMP\largefiles-repo-hg\.hg\largefiles\76..38
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   163
    br'(?m)^changeset .* references (corrupted|missing) \$TESTTMP\\.*',
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   164
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   165
    # stuff/maybelarge.dat: largefile 76..38 not available from
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   166
    #     file:/*/$TESTTMP\largefiles-repo (glob)
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   167
    br'.*: largefile \S+ not available from file:/\*/.+',
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   168
]
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   169
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   170
if os.name == 'nt':
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   171
    substitutions.extend([(s, lambda match: match.group().replace(b'\\', b'/'))
24528dba0e64 run-tests: add substitution patterns for common '\' path output on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35446
diff changeset
   172
                          for s in _winpathfixes])