diff --git a/importlib_metadata/__init__.py b/importlib_metadata/__init__.py index 8d9f0016..e44ea31a 100644 --- a/importlib_metadata/__init__.py +++ b/importlib_metadata/__init__.py @@ -902,4 +902,9 @@ def _top_level_inferred(dist): f.parts[0] if len(f.parts) > 1 else inspect.getmodulename(f) for f in always_iterable(dist.files) } - return filter(None, opt_names) + + @pass_none + def valid_module(name): + return name.isidentifier() + + return filter(valid_module, opt_names) diff --git a/tests/test_main.py b/tests/test_main.py index 73747405..ba752d88 100644 --- a/tests/test_main.py +++ b/tests/test_main.py @@ -323,9 +323,6 @@ def test_packages_distributions_neither_toplevel_nor_files(self): ) packages_distributions() - import pytest - - @pytest.mark.xfail(reason="442") def test_packages_distributions_all_module_types(self): """ Test top-level modules detected on a package without 'top-level.txt'.