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.
$ hg init a
$ cd a
$ touch empty1
$ hg add empty1
$ hg commit -m 'add empty1'
$ touch empty2
$ hg add empty2
$ hg commit -m 'add empty2'
$ hg up -C 0
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ touch empty3
$ hg add empty3
$ hg commit -m 'add empty3'
created new head
$ hg heads
changeset: 2:a1cb177e0d44
tag: tip
parent: 0:1e1d9c4e5b64
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: add empty3
changeset: 1:097d2b0e17f6
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: add empty2
$ hg merge 1
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
Before changeset 05257fd28591, we didn't notice the
empty file that came from rev 1:
$ hg status
M empty2
$ hg commit -m merge
$ hg manifest --debug tip
b80de5d138758541c5f05265ad144ab9fa86d1db 644 empty1
b80de5d138758541c5f05265ad144ab9fa86d1db 644 empty2
b80de5d138758541c5f05265ad144ab9fa86d1db 644 empty3
$ cd ..