Mercurial > public > mercurial-scm > hg-stable
comparison tests/common-pattern.py @ 35239:feecfefeba25
tests: add a substitution for ENOENT/ERROR_FILE_NOT_FOUND messages
Automatic replacement seems better than trying to figure out a check-code rule.
I didn't bother looking to see why the error message and file name is reversed
in the annotate and histedit tests, based on Windows or not.
I originally had this as a list of tuples, conditional on the platform. But
there are a couple of 'No such file or directory' messages emitted by Mercurial
itself, so unconditional is required for stability. There are also several
variants of what I assume is 'connection refused' and 'unknown host' in
test-clone.t and test-clonebundles.t for Docker, FreeBSD jails, etc. Yes, these
are handled by (re) tags, but maybe it would be better to capture those strings
in order to avoid whack-a-mole in future tests. All of this points to using a
dictionary containing one or more strings-to-be-replaced values.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Sat, 02 Dec 2017 19:33:34 -0500 |
parents | 7f0c9e28a816 |
children | b33d4cf38666 |
comparison
equal
deleted
inserted
replaced
35238:61ff0d7d56fd | 35239:feecfefeba25 |
---|---|
35 # HTTP log dates | 35 # HTTP log dates |
36 (br' - - \[\d\d/.../2\d\d\d \d\d:\d\d:\d\d] "GET', | 36 (br' - - \[\d\d/.../2\d\d\d \d\d:\d\d:\d\d] "GET', |
37 br' - - [$LOGDATE$] "GET' | 37 br' - - [$LOGDATE$] "GET' |
38 ), | 38 ), |
39 ] | 39 ] |
40 | |
41 # Various platform error strings, keyed on a common replacement string | |
42 _errors = { | |
43 br'$ENOENT$': ( | |
44 # strerror() | |
45 br'No such file or directory', | |
46 | |
47 # FormatMessage(ERROR_FILE_NOT_FOUND) | |
48 br'The system cannot find the file specified', | |
49 ), | |
50 } | |
51 | |
52 for replace, msgs in _errors.items(): | |
53 substitutions.extend((m, replace) for m in msgs) |