Mercurial > hg
changeset 20039:05626e87489c
test-module-imports.t: new test to use the import cycle detector
author | Augie Fackler <raf@durin42.com> |
---|---|
date | Sun, 17 Nov 2013 13:38:35 -0500 |
parents | c65a6937b828 |
children | ed80cecdfc57 |
files | tests/test-module-imports.t |
diffstat | 1 files changed, 35 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-module-imports.t Sun Nov 17 13:38:35 2013 -0500 @@ -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