11import sys
22import textwrap
33
4- import importlib_metadata
5-
64import _pytest ._code
75import pytest
86from _pytest .config import _iter_rewritable_modules
1210from _pytest .config .findpaths import getcfg
1311from _pytest .main import ExitCode
1412
13+ if sys .version_info >= (3 , 8 ):
14+ from importlib import metadata
15+ else :
16+ import importlib_metadata as metadata
17+
1518
1619class TestParseIni :
1720 @pytest .mark .parametrize (
@@ -540,7 +543,7 @@ class Dist:
540543 def my_dists ():
541544 return (Dist ,)
542545
543- monkeypatch .setattr (importlib_metadata , "distributions" , my_dists )
546+ monkeypatch .setattr (metadata , "distributions" , my_dists )
544547 testdir .makeconftest (
545548 """
546549 pytest_plugins = "mytestplugin",
@@ -570,7 +573,7 @@ class Distribution:
570573 def distributions ():
571574 return (Distribution (),)
572575
573- monkeypatch .setattr (importlib_metadata , "distributions" , distributions )
576+ monkeypatch .setattr (metadata , "distributions" , distributions )
574577 with pytest .raises (ImportError ):
575578 testdir .parseconfig ()
576579
@@ -594,7 +597,7 @@ class Distribution:
594597 def distributions ():
595598 return (Distribution (),)
596599
597- monkeypatch .setattr (importlib_metadata , "distributions" , distributions )
600+ monkeypatch .setattr (metadata , "distributions" , distributions )
598601 testdir .parseconfig ()
599602
600603
@@ -619,7 +622,7 @@ class Distribution:
619622 def distributions ():
620623 return (Distribution (),)
621624
622- monkeypatch .setattr (importlib_metadata , "distributions" , distributions )
625+ monkeypatch .setattr (metadata , "distributions" , distributions )
623626 args = ("-p" , "no:mytestplugin" ) if block_it else ()
624627 config = testdir .parseconfig (* args )
625628 config .pluginmanager .import_plugin ("mytestplugin" )
@@ -655,7 +658,7 @@ def distributions():
655658 return (Distribution (),)
656659
657660 monkeypatch .setenv ("PYTEST_DISABLE_PLUGIN_AUTOLOAD" , "1" )
658- monkeypatch .setattr (importlib_metadata , "distributions" , distributions )
661+ monkeypatch .setattr (metadata , "distributions" , distributions )
659662 monkeypatch .setitem (sys .modules , "mytestplugin" , PseudoPlugin ())
660663 config = testdir .parseconfig (* parse_args )
661664 has_loaded = config .pluginmanager .get_plugin ("mytestplugin" ) is not None
0 commit comments