# HG changeset patch # User Matt Harbison # Date 1539833623 14400 # Node ID ef6cab7930b3c63064146d84f24344124b111e29 # Parent fad6068249d96f2482b0475739bbb617876021a8 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: diff -r fad6068249d9 -r ef6cab7930b3 tests/test-basic.t --- a/tests/test-basic.t Thu Oct 18 21:55:47 2018 -0400 +++ b/tests/test-basic.t Wed Oct 17 23:33:43 2018 -0400 @@ -61,8 +61,8 @@ Verify that updating to revision 0 via commands.update() works properly $ cat < update_to_rev0.py - > from mercurial import ui, hg, commands - > myui = ui.ui.load() + > from mercurial import commands, hg, ui as uimod + > myui = uimod.ui.load() > repo = hg.repository(myui, path=b'.') > commands.update(myui, repo, rev=b"0") > EOF diff -r fad6068249d9 -r ef6cab7930b3 tests/test-blackbox.t --- a/tests/test-blackbox.t Thu Oct 18 21:55:47 2018 -0400 +++ b/tests/test-blackbox.t Wed Oct 17 23:33:43 2018 -0400 @@ -351,7 +351,8 @@ $ chg noop $ cat > showsize.py << 'EOF' - > import os, sys + > import os + > import sys > limit = 500 > for p in sys.argv[1:]: > size = os.stat(p).st_size diff -r fad6068249d9 -r ef6cab7930b3 tests/test-bundle2-exchange.t --- a/tests/test-bundle2-exchange.t Thu Oct 18 21:55:47 2018 -0400 +++ b/tests/test-bundle2-exchange.t Wed Oct 17 23:33:43 2018 -0400 @@ -934,7 +934,7 @@ $ cat >> $TESTTMP/locktester.py < import os - > from mercurial import extensions, bundle2, error + > from mercurial import bundle2, error, extensions > def checklock(orig, repo, *args, **kwargs): > if repo.svfs.lexists(b"lock"): > raise error.Abort(b"Lock should not be taken") diff -r fad6068249d9 -r ef6cab7930b3 tests/test-clone.t --- a/tests/test-clone.t Thu Oct 18 21:55:47 2018 -0400 +++ b/tests/test-clone.t Wed Oct 17 23:33:43 2018 -0400 @@ -558,8 +558,8 @@ iterable in addbranchrevs() $ cat < simpleclone.py - > from mercurial import ui, hg - > myui = ui.ui.load() + > from mercurial import hg, ui as uimod + > myui = uimod.ui.load() > repo = hg.repository(myui, b'a') > hg.clone(myui, {}, repo, dest=b"ua") > EOF @@ -571,8 +571,8 @@ $ rm -r ua $ cat < branchclone.py - > from mercurial import ui, hg, extensions - > myui = ui.ui.load() + > from mercurial import extensions, hg, ui as uimod + > myui = uimod.ui.load() > extensions.loadall(myui) > repo = hg.repository(myui, b'a') > hg.clone(myui, {}, repo, dest=b"ua", branch=[b"stable",]) diff -r fad6068249d9 -r ef6cab7930b3 tests/test-commit-multiple.t --- a/tests/test-commit-multiple.t Thu Oct 18 21:55:47 2018 -0400 +++ b/tests/test-commit-multiple.t Wed Oct 17 23:33:43 2018 -0400 @@ -80,8 +80,8 @@ now test that we fixed the bug for all scripts/extensions $ cat > $TESTTMP/committwice.py <<__EOF__ - > from mercurial import ui, hg, match, node - > from time import sleep + > import time + > from mercurial import hg, match, node, ui as uimod > > def replacebyte(fn, b): > f = open(fn, "rb+") @@ -94,12 +94,12 @@ > % (rev, b', '.join(b"'%s'" % f > for f in repo[rev].files()))) > - > repo = hg.repository(ui.ui.load(), b'.') + > repo = hg.repository(uimod.ui.load(), b'.') > assert len(repo) == 6, \ > "initial: len(repo): %d, expected: 6" % len(repo) > > replacebyte(b"bugfix", b"u") - > sleep(2) + > time.sleep(2) > try: > repo.ui.status(b"PRE: len(repo): %d\n" % len(repo)) > wlock = repo.wlock() diff -r fad6068249d9 -r ef6cab7930b3 tests/test-devel-warnings.t --- a/tests/test-devel-warnings.t Thu Oct 18 21:55:47 2018 -0400 +++ b/tests/test-devel-warnings.t Wed Oct 17 23:33:43 2018 -0400 @@ -342,7 +342,7 @@ $ cat << EOF > ${TESTTMP}/buggyconfig.py > """A small extension that tests our developer warnings for config""" > - > from mercurial import registrar, configitems + > from mercurial import configitems, registrar > > cmdtable = {} > command = registrar.command(cmdtable) diff -r fad6068249d9 -r ef6cab7930b3 tests/test-encoding.t --- a/tests/test-encoding.t Thu Oct 18 21:55:47 2018 -0400 +++ b/tests/test-encoding.t Wed Oct 17 23:33:43 2018 -0400 @@ -278,9 +278,10 @@ #if hypothesis - >>> from hypothesishelpers import * + >>> import hypothesishelpers >>> from mercurial import encoding - >>> roundtrips(st.binary(), encoding.fromutf8b, encoding.toutf8b) + >>> hypothesishelpers.roundtrips(hypothesishelpers.st.binary(), + ... encoding.fromutf8b, encoding.toutf8b) Round trip OK #endif diff -r fad6068249d9 -r ef6cab7930b3 tests/test-extension.t --- a/tests/test-extension.t Thu Oct 18 21:55:47 2018 -0400 +++ b/tests/test-extension.t Wed Oct 17 23:33:43 2018 -0400 @@ -1266,7 +1266,8 @@ > "broken extension' > NO_CHECK_EOF $ cat > path.py < import os, sys + > import os + > import sys > sys.path.insert(0, os.environ['HGEXTPATH']) > EOF $ HGEXTPATH=`pwd` diff -r fad6068249d9 -r ef6cab7930b3 tests/test-import.t --- 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 < 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 < 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 < import mercurial.cmdutil > import mercurial.patch - > import mercurial.cmdutil > > def processfoo(repo, data, extra, opts): > if b'foo' in data: diff -r fad6068249d9 -r ef6cab7930b3 tests/test-install.t --- a/tests/test-install.t Thu Oct 18 21:55:47 2018 -0400 +++ b/tests/test-install.t Wed Oct 17 23:33:43 2018 -0400 @@ -153,7 +153,9 @@ $ . "$TESTDIR/helpers-testrepo.sh" $ cat >> wixxml.py << EOF - > import os, subprocess, sys + > import os + > import subprocess + > import sys > import xml.etree.ElementTree as ET > > # MSYS mangles the path if it expands $TESTDIR diff -r fad6068249d9 -r ef6cab7930b3 tests/test-issue5979.t --- a/tests/test-issue5979.t Thu Oct 18 21:55:47 2018 -0400 +++ b/tests/test-issue5979.t Wed Oct 17 23:33:43 2018 -0400 @@ -22,9 +22,9 @@ o c0 - >>> from mercurial.ui import ui - >>> from mercurial.hg import repository - >>> repo = repository(ui()) + >>> 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 diff -r fad6068249d9 -r ef6cab7930b3 tests/test-journal.t --- a/tests/test-journal.t Thu Oct 18 21:55:47 2018 -0400 +++ b/tests/test-journal.t Wed Oct 17 23:33:43 2018 -0400 @@ -3,7 +3,7 @@ $ cat >> testmocks.py << EOF > # mock out procutil.getuser() and util.makedate() to supply testable values > import os - > from mercurial import util, pycompat + > from mercurial import pycompat, util > from mercurial.utils import dateutil, procutil > def mockgetuser(): > return b'foobar' diff -r fad6068249d9 -r ef6cab7930b3 tests/test-pager-legacy.t --- a/tests/test-pager-legacy.t Thu Oct 18 21:55:47 2018 -0400 +++ b/tests/test-pager-legacy.t Wed Oct 17 23:33:43 2018 -0400 @@ -244,7 +244,7 @@ Pager should not override the exit code of other commands $ cat >> $TESTTMP/fortytwo.py <<'EOF' - > from mercurial import registrar, commands + > from mercurial import commands, registrar > cmdtable = {} > command = registrar.command(cmdtable) > @command(b'fortytwo', [], b'fortytwo', norepo=True) diff -r fad6068249d9 -r ef6cab7930b3 tests/test-parseindex.t --- a/tests/test-parseindex.t Thu Oct 18 21:55:47 2018 -0400 +++ b/tests/test-parseindex.t Wed Oct 17 23:33:43 2018 -0400 @@ -27,8 +27,7 @@ $ cat >> test.py << EOF > from __future__ import print_function - > from mercurial import changelog, vfs - > from mercurial.node import * + > from mercurial import changelog, node, vfs > > class singlebyteread(object): > def __init__(self, real): @@ -59,7 +58,7 @@ > cl = changelog.changelog(opener('.hg/store')) > print(len(cl), 'revisions:') > for r in cl: - > print(short(cl.node(r))) + > print(node.short(cl.node(r))) > EOF $ "$PYTHON" test.py 2 revisions: diff -r fad6068249d9 -r ef6cab7930b3 tests/test-pending.t --- a/tests/test-pending.t Thu Oct 18 21:55:47 2018 -0400 +++ b/tests/test-pending.t Wed Oct 17 23:33:43 2018 -0400 @@ -41,8 +41,8 @@ python hook $ cat < reject.py - > import os, time - > from mercurial import ui, localrepo + > import os + > import time > def rejecthook(ui, repo, hooktype, node, **opts): > ui.write(b'hook %s\\n' % repo[b'tip'].hex()) > # create the notify file so caller knows we're running diff -r fad6068249d9 -r ef6cab7930b3 tests/test-profile.t --- a/tests/test-profile.t Thu Oct 18 21:55:47 2018 -0400 +++ b/tests/test-profile.t Wed Oct 17 23:33:43 2018 -0400 @@ -66,7 +66,7 @@ $ cat >> sleepext.py << EOF > import time - > from mercurial import registrar, commands + > from mercurial import registrar > cmdtable = {} > command = registrar.command(cmdtable) > @command(b'sleep', [], b'hg sleep') diff -r fad6068249d9 -r ef6cab7930b3 tests/test-purge.t --- a/tests/test-purge.t Thu Oct 18 21:55:47 2018 -0400 +++ b/tests/test-purge.t Wed Oct 17 23:33:43 2018 -0400 @@ -50,7 +50,8 @@ $ touch untracked_file $ touch untracked_file_readonly $ "$PYTHON" < import os, stat + > import os + > import stat > f= 'untracked_file_readonly' > os.chmod(f, stat.S_IMODE(os.stat(f).st_mode) & ~stat.S_IWRITE) > EOF