##// END OF EJS Templates
tests: use pattern matching to mask `ECONNREFUSED` messages...
tests: use pattern matching to mask `ECONNREFUSED` messages The second and third one of these in `test-http-proxy.t` was failing on Windows. The others were found by grep and by failed tests when output was matched and an attempt was made to emit the mask pattern. The first clonebundles failure on Windows emitted: error fetching bundle: [WinError 10061] $ECONNREFUSED$ We should probably stringify that better to get rid of the "[WinError 10061]" part.

File last commit:

r49731:42d2b31c default
r52835:73a43fe3 default
Show More
test-imports-checker.t
145 lines | 4.4 KiB | text/troff | Tads3Lexer
/ tests / test-imports-checker.t
Pierre-Yves David
import-checkers: split tests of the tool from running it on the source...
r31442 #require test-repo
$ . "$TESTDIR/helpers-testrepo.sh"
Yuya Nishihara
tests: alias syshg and syshgenv so they can be switched conditionally
r33199 $ testrepohgenv
Pierre-Yves David
import-checkers: split tests of the tool from running it on the source...
r31442 $ 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
Matt Harbison
tests: quote PYTHON usage...
r39743 $ "$PYTHON" -m doctest $import_checker
Pierre-Yves David
import-checkers: split tests of the tool from running it on the source...
r31442
Run additional tests for the import checker
$ mkdir testpackage
$ touch testpackage/__init__.py
$ cat > testpackage/multiple.py << EOF
> import os, sys
> EOF
$ cat > testpackage/unsorted.py << EOF
> import sys
> import os
> EOF
$ cat > testpackage/stdafterlocal.py << EOF
> from . import unsorted
> import os
> EOF
$ cat > testpackage/requirerelative.py << EOF
> import testpackage.unsorted
> EOF
$ cat > testpackage/importalias.py << EOF
> import ui
> EOF
$ cat > testpackage/relativestdlib.py << EOF
> from .. import os
> EOF
Martin von Zweigbergk
import-checker: allow all absolute imports of stdlib modules...
r44406 $ cat > testpackage/stdlibfrom.py << EOF
> from collections import abc
> EOF
Pierre-Yves David
import-checkers: split tests of the tool from running it on the source...
r31442 $ cat > testpackage/symbolimport.py << EOF
> from .unsorted import foo
> EOF
$ cat > testpackage/latesymbolimport.py << EOF
> from . import unsorted
> from mercurial.node import hex
> EOF
$ cat > testpackage/multiplegroups.py << EOF
> from . import unsorted
> from . import more
> EOF
$ mkdir testpackage/subpackage
$ cat > testpackage/subpackage/levelpriority.py << EOF
> from . import foo
> from .. import parent
> EOF
$ touch testpackage/subpackage/foo.py
$ cat > testpackage/subpackage/__init__.py << EOF
> from . import levelpriority # should not cause cycle
> EOF
$ cat > testpackage/subpackage/localimport.py << EOF
> from . import foo
> def bar():
> # should not cause "higher-level import should come first"
> from .. import unsorted
> # but other errors should be detected
> from .. import more
> import testpackage.subpackage.levelpriority
> EOF
$ cat > testpackage/importmodulefromsub.py << EOF
> from .subpackage import foo # not a "direct symbol import"
> EOF
$ cat > testpackage/importsymbolfromsub.py << EOF
> from .subpackage import foo, nonmodule
> EOF
$ cat > testpackage/sortedentries.py << EOF
> from . import (
> foo,
> bar,
> )
> EOF
$ cat > testpackage/importfromalias.py << EOF
> from . import ui
> EOF
$ cat > testpackage/importfromrelative.py << EOF
> from testpackage.unsorted import foo
> EOF
$ mkdir testpackage2
$ touch testpackage2/__init__.py
$ cat > testpackage2/latesymbolimport.py << EOF
> from testpackage import unsorted
> from mercurial.node import hex
> EOF
Jun Wu
import-checker: allow relative import a module being checked...
r34040 # Shadowing a stdlib module to test "relative import of stdlib module" is
# allowed if the module is also being checked
$ mkdir email
$ touch email/__init__.py
$ touch email/errors.py
$ cat > email/utils.py << EOF
> from . import errors
> EOF
Matt Harbison
tests: quote PYTHON usage...
r39743 $ "$PYTHON" "$import_checker" testpackage*/*.py testpackage/subpackage/*.py \
Jun Wu
import-checker: allow relative import a module being checked...
r34040 > email/*.py
Gregory Szorc
tests: remove from __future__ from inline Python in tests...
r49731 testpackage/importalias.py:1: ui module must be "as" aliased to uimod
testpackage/importfromalias.py:1: ui from testpackage must be "as" aliased to uimod
testpackage/importfromrelative.py:1: import should be relative: testpackage.unsorted
testpackage/importfromrelative.py:1: direct symbol import foo from testpackage.unsorted
testpackage/importsymbolfromsub.py:1: direct symbol import nonmodule from testpackage.subpackage
testpackage/latesymbolimport.py:2: symbol import follows non-symbol import: mercurial.node
testpackage/multiple.py:1: multiple imported names: os, sys
testpackage/multiplegroups.py:2: multiple "from . import" statements
testpackage/relativestdlib.py:1: relative import of stdlib module
testpackage/requirerelative.py:1: import should be relative: testpackage.unsorted
testpackage/sortedentries.py:1: imports from testpackage not lexically sorted: bar < foo
testpackage/stdafterlocal.py:2: stdlib import "os" follows local import: testpackage
testpackage/stdlibfrom.py:1: direct symbol import abc from collections
testpackage/subpackage/levelpriority.py:2: higher-level import should come first: testpackage
testpackage/subpackage/localimport.py:6: multiple "from .. import" statements
testpackage/subpackage/localimport.py:7: import should be relative: testpackage.subpackage.levelpriority
testpackage/symbolimport.py:1: direct symbol import foo from testpackage.unsorted
testpackage/unsorted.py:2: imports not lexically sorted: os < sys
testpackage2/latesymbolimport.py:2: symbol import follows non-symbol import: mercurial.node
Pierre-Yves David
import-checkers: split tests of the tool from running it on the source...
r31442 [1]