Skip to content

Commit 49a7a61

Browse files
[work-in-progress] Test pytest vs python
Suggestion from pytest-dev/pytest#11138 (comment) With 'pytest' (launching the whole pylint test suite): FAILED tests/test_precedence.py::test_package - AssertionError: E: 21: Module 'package.AudioTime' has no 'DECIMAL' member<function Equals.<locals>.<lambda> at 0x76c566741750> With 'pytest tests/test_precedence.py': tests/test_precedence.py . [100%] ============================================================================================ 1 passed in 1.04s ============================================================================================= With 'python tests/test_precedence.py': Checked ['package.__init__'] successfully Checked ['precedence_test'] successfully Checked ['import_package_subpackage_module'] successfully Checked ['pylint.checkers.__init__'] successfully Checked ['/home/pierre/pylint/tests/regrtest_data/classdoc_usage.py'] successfully Checked ['/home/pierre/pylint/tests/regrtest_data/module_global.py'] successfully Checked ['/home/pierre/pylint/tests/regrtest_data/decimal_inference.py'] successfully Checked ['/home/pierre/pylint/tests/regrtest_data/absimp/string.py'] successfully Checked ['/home/pierre/pylint/tests/regrtest_data/bad_package'] successfully
1 parent 3812d0d commit 49a7a61

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

tests/test_precedence.py

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
from __future__ import annotations
2+
3+
import os
4+
import sys
5+
from collections.abc import Callable
6+
from os.path import abspath, dirname, join
7+
8+
from pylint import checkers
9+
from pylint.lint.pylinter import PyLinter
10+
from pylint.testutils import GenericTestReporter
11+
12+
REGR_DATA = join(dirname(abspath(__file__)), "regrtest_data")
13+
sys.path.insert(1, REGR_DATA)
14+
15+
16+
def Equals(expected: str) -> Callable[[str], bool]:
17+
return lambda got: got == expected
18+
19+
20+
def test_package() -> None:
21+
for file_names, check in [
22+
(["package.__init__"], Equals("")),
23+
(["precedence_test"], Equals("")),
24+
(["import_package_subpackage_module"], Equals("")),
25+
(["pylint.checkers.__init__"], lambda x: "__path__" not in x),
26+
([join(REGR_DATA, "classdoc_usage.py")], Equals("")),
27+
([join(REGR_DATA, "module_global.py")], Equals("")),
28+
([join(REGR_DATA, "decimal_inference.py")], Equals("")),
29+
([join(REGR_DATA, "absimp", "string.py")], Equals("")),
30+
([join(REGR_DATA, "bad_package")], lambda x: "Unused import missing" in x),
31+
]:
32+
finalize_linter = PyLinter()
33+
finalize_linter.set_reporter(GenericTestReporter())
34+
checkers.initialize(finalize_linter)
35+
os.environ.pop("PYLINTRC", None)
36+
finalize_linter.reporter.finalize()
37+
finalize_linter.check(file_names)
38+
got = finalize_linter.reporter.finalize().strip()
39+
assert check(got), str(got) + str(check)
40+
print(f"Checked {file_names} successfully")
41+
42+
43+
if __name__ == "__main__":
44+
test_package()

0 commit comments

Comments
 (0)