diff --git a/mypy/report.py b/mypy/report.py index 18cbe13138e90..e35b2962d1ace 100644 --- a/mypy/report.py +++ b/mypy/report.py @@ -466,8 +466,8 @@ def on_file(self, except ValueError: return - if should_skip_path(path): - return + if should_skip_path(path) or os.path.isdir(path): + return # `path` can sometimes be a directory, see #11334 visitor = stats.StatisticsVisitor(inferred=True, filename=tree.fullname, diff --git a/test-data/unit/reports.test b/test-data/unit/reports.test index 5e0da3f07a981..a7ab6d754b2ca 100644 --- a/test-data/unit/reports.test +++ b/test-data/unit/reports.test @@ -456,3 +456,41 @@ DisplayToSource = Callable[[int], int] + +[case testHtmlReportOnNamespacePackagesWithExplicitBases] +# cmd: mypy --html-report report -p folder +[file folder/subfolder/something.py] +class Something: + pass +[file folder/main.py] +from .subfolder.something import Something +print(Something()) +[file folder/__init__.py] +[file mypy.ini] +\[mypy] +explicit_package_bases = True +namespace_packages = True + +[file report/mypy-html.css] +[file report/index.html] +[outfile report/html/folder/subfolder/something.py.html] + + + + + + +

folder.subfolder.something

+ + + + + + +
folder/subfolder/something.py
1
+2
+
class Something:
+    pass
+
+ +