[PATCH 8 of 8 v2] test-module-imports.t: new test to use the import cycle detector
Augie Fackler
raf at durin42.com
Sun Nov 17 15:37:26 CST 2013
# HG changeset patch
# User Augie Fackler <raf at durin42.com>
# Date 1384713515 18000
# Sun Nov 17 13:38:35 2013 -0500
# Node ID 40f0611e79bbedb2b7038b2bb5989a8331126051
# Parent 37732daba197e51ad201cb6b07796a9c1e7cd878
test-module-imports.t: new test to use the import cycle detector
diff --git a/tests/test-module-imports.t b/tests/test-module-imports.t
new file mode 100644
--- /dev/null
+++ b/tests/test-module-imports.t
@@ -0,0 +1,35 @@
+ $ import_checker="$TESTDIR"/../contrib/import-checker.py
+Run the doctests from the import checker, and make sure
+it's working correctly.
+ $ TERM=dumb
+ $ export TERM
+ $ python -m doctest $import_checker
+
+ $ cd "$TESTDIR"/..
+ $ if hg identify -q > /dev/null 2>&1; then :
+ > else
+ > echo "skipped: not a Mercurial working dir" >&2
+ > exit 80
+ > fi
+
+There are a handful of cases here that require renaming a module so it
+doesn't overlap with a stdlib module name. There are also some cycles
+here that we should still endeavor to fix, and some cycles will be
+hidden by deduplication algorithm in the cycle detector, so fixing
+these may expose other cycles.
+
+ $ hg locate 'mercurial/**.py' | xargs python "$import_checker"
+ mercurial/dispatch.py mixed stdlib and relative imports:
+ commands, error, extensions, fancyopts, hg, hook, util
+ mercurial/fileset.py mixed stdlib and relative imports:
+ error, merge, parser, util
+ mercurial/revset.py mixed stdlib and relative imports:
+ discovery, error, hbisect, parser, phases, util
+ mercurial/templater.py mixed stdlib and relative imports:
+ config, error, parser, templatefilters, util
+ mercurial/ui.py mixed stdlib and relative imports:
+ config, error, formatter, scmutil, util
+ Import cycle: mercurial.cmdutil -> mercurial.subrepo -> mercurial.cmdutil
+ Import cycle: mercurial.repoview -> mercurial.revset -> mercurial.repoview
+ Import cycle: mercurial.fileset -> mercurial.merge -> mercurial.subrepo -> mercurial.match -> mercurial.fileset
+ Import cycle: mercurial.filemerge -> mercurial.match -> mercurial.fileset -> mercurial.merge -> mercurial.filemerge
More information about the Mercurial-devel
mailing list