66import sys
77import os
88import collections
9+ import warnings
910from textwrap import dedent
1011from itertools import count
1112
13+
1214import py
1315import six
1416from _pytest .mark import MarkerError
1820import pluggy
1921from _pytest import fixtures
2022from _pytest import main
23+ from _pytest import deprecated
2124from _pytest .compat import (
2225 isclass , isfunction , is_generator , ascii_escaped ,
2326 REGEX_TYPE , STRING_TYPES , NoneType , NOTSET ,
@@ -328,7 +331,7 @@ def collect(self):
328331 if name in seen :
329332 continue
330333 seen [name ] = True
331- res = self .makeitem (name , obj )
334+ res = self ._makeitem (name , obj )
332335 if res is None :
333336 continue
334337 if not isinstance (res , list ):
@@ -338,6 +341,10 @@ def collect(self):
338341 return l
339342
340343 def makeitem (self , name , obj ):
344+ warnings .warn (deprecated .COLLECTOR_MAKEITEM , stacklevel = 2 )
345+ self ._makeitem (name , obj )
346+
347+ def _makeitem (self , name , obj ):
341348 # assert self.ihook.fspath == self.fspath, self
342349 return self .ihook .pytest_pycollect_makeitem (
343350 collector = self , name = name , obj = obj )
@@ -769,30 +776,12 @@ def parametrize(self, argnames, argvalues, indirect=False, ids=None,
769776 to set a dynamic scope using test context or configuration.
770777 """
771778 from _pytest .fixtures import scope2index
772- from _pytest .mark import MARK_GEN , ParameterSet
779+ from _pytest .mark import ParameterSet
773780 from py .io import saferepr
774-
775- if not isinstance (argnames , (tuple , list )):
776- argnames = [x .strip () for x in argnames .split ("," ) if x .strip ()]
777- force_tuple = len (argnames ) == 1
778- else :
779- force_tuple = False
780- parameters = [
781- ParameterSet .extract_from (x , legacy_force_tuple = force_tuple )
782- for x in argvalues ]
781+ argnames , parameters = ParameterSet ._for_parameterize (
782+ argnames , argvalues , self .function )
783783 del argvalues
784784
785- if not parameters :
786- fs , lineno = getfslineno (self .function )
787- reason = "got empty parameter set %r, function %s at %s:%d" % (
788- argnames , self .function .__name__ , fs , lineno )
789- mark = MARK_GEN .skip (reason = reason )
790- parameters .append (ParameterSet (
791- values = (NOTSET ,) * len (argnames ),
792- marks = [mark ],
793- id = None ,
794- ))
795-
796785 if scope is None :
797786 scope = _find_parametrized_scope (argnames , self ._arg2fixturedefs , indirect )
798787
0 commit comments