From 883db6a2161d4bcf8aa2ecbcab34c74f0ff011c6 Mon Sep 17 00:00:00 2001 From: Bruno Oliveira Date: Tue, 4 Jun 2019 17:04:15 -0300 Subject: [PATCH] Add test for packages with broken metadata Related to #5389 --- testing/test_config.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/testing/test_config.py b/testing/test_config.py index 7b2a1209e..c3b027ab9 100644 --- a/testing/test_config.py +++ b/testing/test_config.py @@ -578,6 +578,29 @@ def test_setuptools_importerror_issue1479(testdir, monkeypatch): testdir.parseconfig() +def test_importlib_metadata_broken_distribution(testdir, monkeypatch): + """Integration test for broken distributions with 'files' metadata being None (#5389)""" + monkeypatch.delenv("PYTEST_DISABLE_PLUGIN_AUTOLOAD", raising=False) + + class DummyEntryPoint: + name = "mytestplugin" + group = "pytest11" + + def load(self): + return object() + + class Distribution: + version = "1.0" + files = None + entry_points = (DummyEntryPoint(),) + + def distributions(): + return (Distribution(),) + + monkeypatch.setattr(importlib_metadata, "distributions", distributions) + testdir.parseconfig() + + @pytest.mark.parametrize("block_it", [True, False]) def test_plugin_preparse_prevents_setuptools_loading(testdir, monkeypatch, block_it): monkeypatch.delenv("PYTEST_DISABLE_PLUGIN_AUTOLOAD", raising=False)