Skipping an entire file generally from checking is an important event, so
report it always.
Do not tell the check name because skipping does not depend on it. Directly
skip the entire file instead of checking more patterns and skip again.
The pragma no-check-code was introduced by accident in the past. (Fixed in
bc3ff9741549 and aa06d5c0d698.) This now is prevented because the files
to skip have to be listed in the test output of test-check-code-hg.t.
with xargs, backslashes are eaten up. Convert them to slashes therefore.
This is only a problem with ls (on windows). hg manifest returns slashes.
The pipe char is moved before the line end for telling check-code.py that sed
does not modify the output.
If obsolete markers appear in the hg repo (because of enabling evolve),
then tests that run hg against the hg repo itself will see warnings like:
obsolete feature not enabled but 4 markers found!
As far as I can tell, this only occurs in test-check-code-hg.t -- in
particular, it will -not- show up on tests that run against test-created
repos, as most of the test suite does.
test-check-code-hg.t uses xargs to invoke check-code.py on every file in
'hg manifest'. The return code from xargs varies between BSD xargs and
GNU xargs: BSD will return 1 if any invocation exits with an error code;
GNU xargs will return 123 in this case. This normalizes the exit code
back to 1.
We have a bunch of tests that still use
kill `cat hg.pid`
or worse,
kill `cat hg.pid`; while kill -0 `cat hg.pid`; sleep 0; done
Cleaning these up to use tests/killdaemons.py is non-trivial, so for now
we just add a warning.
Before this patch, one of column positioning messages of MQ summary
output is not translatable, and patches are always listed up at fixed
column position like below, when patch queue is not empty:
mq: 1 applied, 1 unapplied
But column positioning messages for other summarized information are
translatable, so other information may be displayed at different
column position on non-English locale environments.
This patch makes column positioning message of MQ summary output
translatable.
Heredocs are usually fed to other commands and
shouldn't follow the standard conventions of shell
commands.
This restores the old behaviour of how heredocs
were handled in old-style test files.
Merely creating and using a generator has a measurable impact,
particularly since the common case for stream_out is generators that
yield just once. Avoiding generators improves stream_out performance
by about 7%.
brendan mentioned on IRC that b64decode raises a TypeError too, but while the
previous exception type may be better in general, it is much easier to make it
behave like the related C code and changes nothing for mercurial itself.