check-py3-compat: manually format and print warnings
The warnings mechanism may print to stderr on Python 3. Independent buffering
of stdout and stderr can lead to warnings output not being printed properly.
This commit traps warnings when executing individual files and prints
warnings to stdout so output is deterministic.
Differential Revision: https://phab.mercurial-scm.org/D5845
check-py3-compat: provide filename to ast.parse()
This ensures any warning/error messages print a valid filename instead of
potentially '<unknown>'.
Differential Revision: https://phab.mercurial-scm.org/D5844
doc: escape backslash
This avoids a SyntaxWarning on Python 3.8 due to invalid \ escape.
Differential Revision: https://phab.mercurial-scm.org/D5843
testparseutil: escape backslash in docstring
This is funky. This inline Python code is part of a docstring, which
means the string is interpreted first. So any backslashes need double
escaping. So even though this is already a br'', we still need to escape.
Differential Revision: https://phab.mercurial-scm.org/D5842
tests: use raw strings in test-help.t
This avoids SyntaxWarning on Python 3.8 due to invalid \ escapes.
Differential Revision: https://phab.mercurial-scm.org/D5841
tests: escape backslash in makepatch.py inline file
This avoids some SyntaxWarning on Python 3.8 due to unescaped \.
Differential Revision: https://phab.mercurial-scm.org/D5840
tests: use raw strings in test-cbor.py
To avoid SyntaxWarning on Python 3.8 due to invalid \ escape.
Differential Revision: https://phab.mercurial-scm.org/D5839
showstack: use raw docstring
Avoids a SyntaxWarning on Python 3.8 due to invalid \ escape.
Differential Revision: https://phab.mercurial-scm.org/D5838
tests: use raw string in test-check-code.t
To avoid a SyntaxWarning on Python 3.8 due to invalid \ escape.
Differential Revision: https://phab.mercurial-scm.org/D5837
run-tests: set attributes in sorted order
Python 3.8 preserves insertion order in serialized output
(https://bugs.python.org/
issue34160). Older Pythons serialized
in sorted order.
Let's make insertion order sorted so behavior is consistent across
Python versions.
Differential Revision: https://phab.mercurial-scm.org/D5831