summaryrefslogtreecommitdiff
path: root/setuptools
diff options
context:
space:
mode:
Diffstat (limited to 'setuptools')
-rw-r--r--setuptools/tests/config/test_setupcfg.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/setuptools/tests/config/test_setupcfg.py b/setuptools/tests/config/test_setupcfg.py
index f29dd398..a47138c8 100644
--- a/setuptools/tests/config/test_setupcfg.py
+++ b/setuptools/tests/config/test_setupcfg.py
@@ -10,6 +10,7 @@ from distutils.errors import DistutilsOptionError, DistutilsFileError
from setuptools._deprecation_warning import SetuptoolsDeprecationWarning
from setuptools.dist import Distribution, _Distribution
from setuptools.config.setupcfg import ConfigHandler, read_configuration
+from setuptools.extern.packaging.requirements import InvalidRequirement
from ..textwrap import DALS
@@ -729,6 +730,25 @@ class TestOptions:
"[options]\ninstall_requires = bar;os_name=='linux'\n",
],
)
+ def test_raises_accidental_env_marker_misconfig(self, config, tmpdir):
+ fake_env(tmpdir, config)
+ match = (
+ r"One of the parsed requirements in `(install_requires|extras_require.+)` "
+ "looks like a valid environment marker.*"
+ )
+ with pytest.raises(InvalidRequirement, match=match):
+ with get_dist(tmpdir) as _:
+ pass
+
+ @pytest.mark.parametrize(
+ "config",
+ [
+ "[options.extras_require]\nfoo = bar;python_version<3",
+ "[options.extras_require]\nfoo = bar;python_version<3\n",
+ "[options]\ninstall_requires = bar;python_version<3",
+ "[options]\ninstall_requires = bar;python_version<3\n",
+ ],
+ )
def test_warn_accidental_env_marker_misconfig(self, config, tmpdir):
fake_env(tmpdir, config)
match = (