run-test: ensure the test ports are available before launching test
I'm running into a systematic issue because there is always some port taken in the
1500-wide range of ports used by the test (3 for each test file).
templater: strip single backslash before quotation mark in quoted template
db7463aa080f fixed the issue of double escapes, but it made the following
template fail with syntax error because of <\">. Strictly speaking, <\">
appears to be invalid in non-string part, but we are likely to escape <">
if surrounded by quotes, and we are used to write such templates by trial
and error.
[templates]
sl = "{tags % \"{ifeq(tag,'tip','',label('log.tag', ' {tag}'))}\"}"
So, for backward compatibility between 2.8.1 and 3.4, a single backslash
before quotation mark is stripped only in quoted template. We don't care
for <\"> in string literal in quoted template, which never worked as expected
before.
template result
--------- ------------------------
{\"\"} parse error
"{""}" {""} -> <>
"{\"\"}" {""} -> <>
{"\""} {"\""} -> <">
'{"\""}' {"\""} -> <">
"{"\""}" parse error (don't care)
run-tests: implement Test._testMethodName
This methods is needed internally by utilities like __repr__. I do not see any
harm in having it declared. Any actual attempt to use it to call a test would
crash, but at least random debug print in the test runner will no longer crash.
Another approach would have been to redefine the __repr__ function, but I think
it a good thing to have some respect for the base class API.
test-subrepo-git: ignore pax_global_header when listing archive
5115d03440f4 is adding a new tar call but forgot to filter out the
pax_global_header file that some tar versions write. This is similar to what
happened in
5dda6c708138.