33
33
from typing import IO
34
34
from typing import TextIO
35
35
from typing import TYPE_CHECKING
36
- from typing import Union
37
36
import warnings
38
37
39
38
import pluggy
@@ -1646,7 +1645,10 @@ def _getini(self, name: str):
1646
1645
if self .inipath is not None
1647
1646
else self .invocation_params .dir
1648
1647
)
1649
- value = cast (Union [str , list [str ]], value )
1648
+ if not isinstance (value , (str , Sequence )):
1649
+ raise TypeError (
1650
+ f"Expected str or sequence for option { name } of type str/list, but got: { value !r} "
1651
+ ) from None
1650
1652
input_values = shlex .split (value ) if isinstance (value , str ) else value
1651
1653
return [dp / x for x in input_values ]
1652
1654
elif type == "args" :
@@ -1661,25 +1663,24 @@ def _getini(self, name: str):
1661
1663
elif type == "string" :
1662
1664
return value
1663
1665
elif type == "int" :
1664
- value = cast (str , value )
1665
- try :
1666
- return int (value )
1667
- except ValueError :
1668
- raise ValueError (
1669
- f"invalid integer value for option { name } : { value !r} "
1666
+ if not isinstance (value , (str , int )):
1667
+ raise TypeError (
1668
+ f"Expected str or int for option { name } of type integer, but got: { value !r} "
1670
1669
) from None
1670
+ return int (value )
1671
1671
elif type == "float" :
1672
- value = cast (str , value )
1673
- try :
1674
- return float (value )
1675
- except ValueError :
1676
- raise ValueError (
1677
- f"invalid float value for option { name } : { value !r} "
1672
+ if not isinstance (value , (str , float )):
1673
+ raise TypeError (
1674
+ f"Expected str or flot for option { name } of type float, but got: { value !r} "
1678
1675
) from None
1676
+ return float (value )
1679
1677
elif type is None :
1680
1678
return value
1681
1679
else :
1682
- value = cast (Union [str , list [str ]], value )
1680
+ if not isinstance (value , (str , Sequence )):
1681
+ raise TypeError (
1682
+ f"Expected str or sequence for option { name } of type str/list, but got: { value !r} "
1683
+ ) from None
1683
1684
return self ._getini_unknown_type (name , type , value )
1684
1685
1685
1686
def _getconftest_pathlist (
0 commit comments