Mercurial > public > mercurial-scm > hg
diff tests/test-import.t @ 40369:ef6cab7930b3
py3: fix module imports in tests, as flagged by test-check-module-imports.t
I have no idea why these aren't flagged with python2. I excluded
test-highlight.t for now to make this easier to review- the changed code is
committed to a repo, which has cascading changes on the rest of the test.
There's a mix of bytes and str in the imports dict of contrib/import-checker.py
that crashed it half way through listing out these errors. I couldn't figure
out how to fix that properly, so I was lazy and applied this on py3, to find the
rest of the errors:
diff --git a/contrib/import-checker.py b/contrib/import-checker.py
--- a/contrib/import-checker.py
+++ b/contrib/import-checker.py
@@ -626,7 +626,12 @@ def find_cycles(imports):
top.foo -> top.qux -> top.foo
"""
cycles = set()
- for mod in sorted(imports.keys()):
+ def sort(v):
+ if isinstance(v, bytes):
+ return v.decode('ascii')
+ return v
+
+ for mod in sorted(imports.keys(), key=sort):
try:
checkmod(mod, imports)
except CircularImport as e:
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Wed, 17 Oct 2018 23:33:43 -0400 |
parents | 5abc47d4ca6b |
children | 07e181ed82ef |
line wrap: on
line diff
--- a/tests/test-import.t Thu Oct 18 21:55:47 2018 -0400 +++ b/tests/test-import.t Wed Oct 17 23:33:43 2018 -0400 @@ -285,7 +285,8 @@ $ rm -r b $ cat > mkmsg.py <<EOF - > import email.message, sys + > import email.message + > import sys > msg = email.message.Message() > patch = open(sys.argv[1], 'rb').read() > msg.set_payload(b'email commit message\n' + patch) @@ -383,7 +384,8 @@ The '---' tests the gitsendmail handling without proper mail headers $ cat > mkmsg2.py <<EOF - > import email.message, sys + > import email.message + > import sys > msg = email.message.Message() > patch = open(sys.argv[1], 'rb').read() > msg.set_payload(b'email patch\n\nnext line\n---\n' + patch) @@ -1871,8 +1873,8 @@ =========================== $ cat > $TESTTMP/parseextra.py <<EOF + > import mercurial.cmdutil > import mercurial.patch - > import mercurial.cmdutil > > def processfoo(repo, data, extra, opts): > if b'foo' in data: