tests/test-check-module-imports.t
author Augie Fackler <raf@durin42.com>
Wed, 25 Nov 2020 22:23:23 -0500
changeset 45940 6aacc39501f7
parent 44291 064eb65d040f
child 46563 02d91167cfc3
permissions -rw-r--r--
gitlog: add tiprev() function Lots of stuff was broken because this was missing. Differential Revision: https://phab.mercurial-scm.org/D9402
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
23894
f388ceae2250 test-module-imports: use test-repo requirement
Matt Mackall <mpm@selenic.com>
parents: 22947
diff changeset
     1
#require test-repo
f388ceae2250 test-module-imports: use test-repo requirement
Matt Mackall <mpm@selenic.com>
parents: 22947
diff changeset
     2
29219
3c9066ed557c tests: silence test-repo obsolete warning
timeless <timeless@mozdev.org>
parents: 29212
diff changeset
     3
  $ . "$TESTDIR/helpers-testrepo.sh"
20039
05626e87489c test-module-imports.t: new test to use the import cycle detector
Augie Fackler <raf@durin42.com>
parents:
diff changeset
     4
  $ import_checker="$TESTDIR"/../contrib/import-checker.py
23894
f388ceae2250 test-module-imports: use test-repo requirement
Matt Mackall <mpm@selenic.com>
parents: 22947
diff changeset
     5
20039
05626e87489c test-module-imports.t: new test to use the import cycle detector
Augie Fackler <raf@durin42.com>
parents:
diff changeset
     6
  $ cd "$TESTDIR"/..
05626e87489c test-module-imports.t: new test to use the import cycle detector
Augie Fackler <raf@durin42.com>
parents:
diff changeset
     7
05626e87489c test-module-imports.t: new test to use the import cycle detector
Augie Fackler <raf@durin42.com>
parents:
diff changeset
     8
There are a handful of cases here that require renaming a module so it
05626e87489c test-module-imports.t: new test to use the import cycle detector
Augie Fackler <raf@durin42.com>
parents:
diff changeset
     9
doesn't overlap with a stdlib module name. There are also some cycles
05626e87489c test-module-imports.t: new test to use the import cycle detector
Augie Fackler <raf@durin42.com>
parents:
diff changeset
    10
here that we should still endeavor to fix, and some cycles will be
05626e87489c test-module-imports.t: new test to use the import cycle detector
Augie Fackler <raf@durin42.com>
parents:
diff changeset
    11
hidden by deduplication algorithm in the cycle detector, so fixing
05626e87489c test-module-imports.t: new test to use the import cycle detector
Augie Fackler <raf@durin42.com>
parents:
diff changeset
    12
these may expose other cycles.
05626e87489c test-module-imports.t: new test to use the import cycle detector
Augie Fackler <raf@durin42.com>
parents:
diff changeset
    13
28844
99a2bdad0fda tests: enable import checker for tests/**.py files
Yuya Nishihara <yuya@tcha.org>
parents: 28330
diff changeset
    14
Known-bad files are excluded by -X as some of them would produce unstable
99a2bdad0fda tests: enable import checker for tests/**.py files
Yuya Nishihara <yuya@tcha.org>
parents: 28330
diff changeset
    15
outputs, which should be fixed later.
99a2bdad0fda tests: enable import checker for tests/**.py files
Yuya Nishihara <yuya@tcha.org>
parents: 28330
diff changeset
    16
33204
ddd65b4f3ae6 tests: alias syshg and syshgenv so they can be switched conditionally
Yuya Nishihara <yuya@tcha.org>
parents: 33128
diff changeset
    17
  $ testrepohg locate 'set:**.py or grep(r"^#!.*?python")' \
28923
531dea16f4f7 tests: run import-checker with tests .t files
timeless <timeless@mozdev.org>
parents: 28844
diff changeset
    18
  > 'tests/**.t' \
33932
a0aeb096bb12 tests: blacklist some more entries in module import checks
Augie Fackler <raf@durin42.com>
parents: 33439
diff changeset
    19
  > -X hgweb.cgi \
a0aeb096bb12 tests: blacklist some more entries in module import checks
Augie Fackler <raf@durin42.com>
parents: 33439
diff changeset
    20
  > -X setup.py \
42024
b05a3e28cf24 automation: perform tasks on remote machines
Gregory Szorc <gregory.szorc@gmail.com>
parents: 41912
diff changeset
    21
  > -X contrib/automation/ \
29212
8005e0e0eb33 tests: enable import checker for all **.py files
Yuya Nishihara <yuya@tcha.org>
parents: 29208
diff changeset
    22
  > -X contrib/debugshell.py \
33932
a0aeb096bb12 tests: blacklist some more entries in module import checks
Augie Fackler <raf@durin42.com>
parents: 33439
diff changeset
    23
  > -X contrib/hgweb.fcgi \
38462
e5916f1236f3 packaging: replace dockerlib.sh with a Python script
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37810
diff changeset
    24
  > -X contrib/packaging/hg-docker \
41912
9da97f49d4f4 packaging: establish hgpackaging package
Gregory Szorc <gregory.szorc@gmail.com>
parents: 41858
diff changeset
    25
  > -X contrib/packaging/hgpackaging/ \
41858
d7dc4ac1ff84 inno: script to automate building Inno installer
Gregory Szorc <gregory.szorc@gmail.com>
parents: 40971
diff changeset
    26
  > -X contrib/packaging/inno/ \
44291
064eb65d040f contrib: a small script to nudge lingering diff
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43348
diff changeset
    27
  > -X contrib/phab-clean.py \
30444
b86a448a2965 zstd: vendor python-zstandard 0.5.0
Gregory Szorc <gregory.szorc@gmail.com>
parents: 29305
diff changeset
    28
  > -X contrib/python-zstandard/ \
29212
8005e0e0eb33 tests: enable import checker for all **.py files
Yuya Nishihara <yuya@tcha.org>
parents: 29208
diff changeset
    29
  > -X contrib/win32/hgwebdir_wsgi.py \
40971
abd7b75e80bc contrib: provide a small script that draw performance plot
Paul Morelle <paul.morelle@octobus.net>
parents: 40207
diff changeset
    30
  > -X contrib/perf-utils/perf-revlog-write-plot.py \
29212
8005e0e0eb33 tests: enable import checker for all **.py files
Yuya Nishihara <yuya@tcha.org>
parents: 29208
diff changeset
    31
  > -X doc/gendoc.py \
8005e0e0eb33 tests: enable import checker for all **.py files
Yuya Nishihara <yuya@tcha.org>
parents: 29208
diff changeset
    32
  > -X doc/hgmanpage.py \
29234
393aef802535 tests: enable import checker for all python files (including no .py files)
Yuya Nishihara <yuya@tcha.org>
parents: 29219
diff changeset
    33
  > -X i18n/posplit \
34396
41401f502c83 tests: disable lints on mercurial/thirdparty
Siddharth Agarwal <sid0@fb.com>
parents: 33935
diff changeset
    34
  > -X mercurial/thirdparty \
28844
99a2bdad0fda tests: enable import checker for tests/**.py files
Yuya Nishihara <yuya@tcha.org>
parents: 28330
diff changeset
    35
  > -X tests/hypothesishelpers.py \
37810
856f381ad74b interfaceutil: module to stub out zope.interface
Gregory Szorc <gregory.szorc@gmail.com>
parents: 34396
diff changeset
    36
  > -X tests/test-check-interfaces.py \
33935
9ce139c9222f tests: blacklist test-demandimport from test-check-module-imports
Augie Fackler <raf@durin42.com>
parents: 33934
diff changeset
    37
  > -X tests/test-demandimport.py \
33934
d669b1ad215f tests: sort excluded test files in test-check-module-imports
Augie Fackler <raf@durin42.com>
parents: 33932
diff changeset
    38
  > -X tests/test-imports-checker.t \
d669b1ad215f tests: sort excluded test files in test-check-module-imports
Augie Fackler <raf@durin42.com>
parents: 33932
diff changeset
    39
  > -X tests/test-verify-repo-operations.py \
39723
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 38462
diff changeset
    40
  > | sed 's-\\-/-g' | "$PYTHON" "$import_checker" -