File tree Expand file tree Collapse file tree 3 files changed +37
-0
lines changed
Expand file tree Collapse file tree 3 files changed +37
-0
lines changed Original file line number Diff line number Diff line change 1+ In declarative config, now traps errors when invalid ``python_requires `` values are supplied.
Original file line number Diff line number Diff line change 1212
1313from distutils .errors import DistutilsOptionError , DistutilsFileError
1414from setuptools .extern .packaging .version import LegacyVersion , parse
15+ from setuptools .extern .packaging .specifiers import SpecifierSet
1516from setuptools .extern .six import string_types , PY3
1617
1718
@@ -554,6 +555,7 @@ def parsers(self):
554555 'packages' : self ._parse_packages ,
555556 'entry_points' : self ._parse_file ,
556557 'py_modules' : parse_list ,
558+ 'python_requires' : SpecifierSet ,
557559 }
558560
559561 def _parse_packages (self , value ):
Original file line number Diff line number Diff line change @@ -819,6 +819,40 @@ def test_data_files(self, tmpdir):
819819 ]
820820 assert sorted (dist .data_files ) == sorted (expected )
821821
822+ def test_python_requires_simple (self , tmpdir ):
823+ fake_env (
824+ tmpdir ,
825+ DALS ("""
826+ [options]
827+ python_requires=>=2.7
828+ """ ),
829+ )
830+ with get_dist (tmpdir ) as dist :
831+ dist .parse_config_files ()
832+
833+ def test_python_requires_compound (self , tmpdir ):
834+ fake_env (
835+ tmpdir ,
836+ DALS ("""
837+ [options]
838+ python_requires=>=2.7,!=3.0.*
839+ """ ),
840+ )
841+ with get_dist (tmpdir ) as dist :
842+ dist .parse_config_files ()
843+
844+ def test_python_requires_invalid (self , tmpdir ):
845+ fake_env (
846+ tmpdir ,
847+ DALS ("""
848+ [options]
849+ python_requires=invalid
850+ """ ),
851+ )
852+ with pytest .raises (Exception ):
853+ with get_dist (tmpdir ) as dist :
854+ dist .parse_config_files ()
855+
822856
823857saved_dist_init = _Distribution .__init__
824858
You can’t perform that action at this time.
0 commit comments