##// END OF EJS Templates
revset: make balanced addsets by orset() without using _combinesets()...
revset: make balanced addsets by orset() without using _combinesets() As scmutil.revrange() was rewritten to not use _combinesets(), we no longer need _combinesets().

File last commit:

r25731:cd1daab5 default
r25929:28914911 default
Show More
test-module-imports.t
133 lines | 4.4 KiB | text/troff | Tads3Lexer
/ tests / test-module-imports.t
Matt Mackall
test-module-imports: use test-repo requirement
r23894 #require test-repo
Augie Fackler
test-module-imports.t: new test to use the import cycle detector
r20039 $ import_checker="$TESTDIR"/../contrib/import-checker.py
Matt Mackall
test-module-imports: use test-repo requirement
r23894
Augie Fackler
test-module-imports.t: new test to use the import cycle detector
r20039 Run the doctests from the import checker, and make sure
it's working correctly.
$ TERM=dumb
$ export TERM
$ python -m doctest $import_checker
Gregory Szorc
import-checker: establish modern import convention...
r25703 Run additional tests for the import checker
$ mkdir testpackage
$ cat > testpackage/multiple.py << EOF
> from __future__ import absolute_import
> import os, sys
> EOF
$ cat > testpackage/unsorted.py << EOF
> from __future__ import absolute_import
> import sys
> import os
> EOF
$ cat > testpackage/stdafterlocal.py << EOF
> from __future__ import absolute_import
> from . import unsorted
> import os
> EOF
$ cat > testpackage/requirerelative.py << EOF
> from __future__ import absolute_import
> import testpackage.unsorted
> EOF
$ cat > testpackage/importalias.py << EOF
> from __future__ import absolute_import
> import ui
> EOF
$ cat > testpackage/relativestdlib.py << EOF
> from __future__ import absolute_import
> from .. import os
> EOF
$ cat > testpackage/symbolimport.py << EOF
> from __future__ import absolute_import
> from .unsorted import foo
> EOF
$ cat > testpackage/latesymbolimport.py << EOF
> from __future__ import absolute_import
> from . import unsorted
> from mercurial.node import hex
> EOF
$ cat > testpackage/multiplegroups.py << EOF
> from __future__ import absolute_import
> from . import unsorted
> from . import more
> EOF
$ mkdir testpackage/subpackage
$ cat > testpackage/subpackage/levelpriority.py << EOF
> from __future__ import absolute_import
> from . import foo
> from .. import parent
> EOF
$ cat > testpackage/sortedentries.py << EOF
> from __future__ import absolute_import
> from . import (
> foo,
> bar,
> )
> EOF
$ cat > testpackage/importfromalias.py << EOF
> from __future__ import absolute_import
> from . import ui
> EOF
$ cat > testpackage/importfromrelative.py << EOF
> from __future__ import absolute_import
> from testpackage.unsorted import foo
> EOF
$ python "$import_checker" testpackage/*.py testpackage/subpackage/*.py
testpackage/importalias.py ui module must be "as" aliased to uimod
testpackage/importfromalias.py ui from testpackage must be "as" aliased to uimod
testpackage/importfromrelative.py import should be relative: testpackage.unsorted
testpackage/importfromrelative.py direct symbol import from testpackage.unsorted
testpackage/latesymbolimport.py symbol import follows non-symbol import: mercurial.node
testpackage/multiple.py multiple imported names: os, sys
testpackage/multiplegroups.py multiple "from . import" statements
testpackage/relativestdlib.py relative import of stdlib module
testpackage/requirerelative.py import should be relative: testpackage.unsorted
testpackage/sortedentries.py imports from testpackage not lexically sorted: bar < foo
testpackage/stdafterlocal.py stdlib import follows local import: os
testpackage/subpackage/levelpriority.py higher-level import should come first: testpackage
testpackage/symbolimport.py direct symbol import from testpackage.unsorted
testpackage/unsorted.py imports not lexically sorted: os < sys
FUJIWARA Katsunori
import-checker.py: exit with code 0 if no error is detected...
r25731 [1]
Gregory Szorc
import-checker: establish modern import convention...
r25703
Augie Fackler
test-module-imports.t: new test to use the import cycle detector
r20039 $ cd "$TESTDIR"/..
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.
FUJIWARA Katsunori
tests: check import cycles in hgext/**.py, too...
r25176 $ hg locate 'mercurial/**.py' 'hgext/**.py' | sed 's-\\-/-g' | python "$import_checker" -
Mads Kiilerich
import-checker: show stdlib and relative imports separately...
r20386 mercurial/dispatch.py mixed imports
stdlib: commands
relative: error, extensions, fancyopts, hg, hook, util
mercurial/fileset.py mixed imports
stdlib: parser
relative: error, merge, util
mercurial/revset.py mixed imports
stdlib: parser
Gregory Szorc
revset: don't import discovery at module level...
r24722 relative: error, hbisect, phases, util
Mads Kiilerich
import-checker: show stdlib and relative imports separately...
r20386 mercurial/templater.py mixed imports
stdlib: parser
Durham Goode
template: add revset() template function...
r20519 relative: config, error, templatefilters, templatekw, util
Mads Kiilerich
import-checker: show stdlib and relative imports separately...
r20386 mercurial/ui.py mixed imports
stdlib: formatter
Pierre-Yves David
progress: move the singleton logic to the ui module...
r25498 relative: config, error, progress, scmutil, util
Matt Mackall
import-checker: fix rotatecycle...
r24487 Import cycle: mercurial.cmdutil -> mercurial.context -> mercurial.subrepo -> mercurial.cmdutil
FUJIWARA Katsunori
tests: check import cycles in hgext/**.py, too...
r25176 Import cycle: hgext.largefiles.basestore -> hgext.largefiles.localstore -> hgext.largefiles.basestore
FUJIWARA Katsunori
import-checker: make imported_modules yield absolute dotted_name_of_path...
r25174 Import cycle: mercurial.commands -> mercurial.commandserver -> mercurial.dispatch -> mercurial.commands
FUJIWARA Katsunori
import-checker.py: exit with code 0 if no error is detected...
r25731 [1]