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:
$ hg init r1
$ cd r1
$ hg ci --config ui.allowemptycommit=true -m c0
$ hg ci --config ui.allowemptycommit=true -m c1
$ hg ci --config ui.allowemptycommit=true -m c2
$ hg co -q 0
$ hg ci --config ui.allowemptycommit=true -m c3
created new head
$ hg co -q 3
$ hg merge --quiet
$ hg ci --config ui.allowemptycommit=true -m c4
$ hg log -G -T'{desc}'
@ c4
|\
| o c3
| |
o | c2
| |
o | c1
|/
o c0
>>> from mercurial import hg
>>> from mercurial import ui as uimod
>>> repo = hg.repository(uimod.ui())
>>> for anc in repo.changelog.ancestors([4], inclusive=True):
... print(anc)
4
3
2
1
0