def test_builtin_function(self): if _PYPY2: args, vararg = _utils._get_arg_lengths(max) # Built-in functions self.assertEqual((args, vararg), (0, 1)) # only work in PyPy 2. else: with self.assertRaises(ValueError): _utils._get_arg_lengths(max)
def test_varargs(self): def userfunc(*args): return True args, vararg = _utils._get_arg_lengths(userfunc) self.assertEqual((args, vararg), (0, 1))
def test_builtin_type(self): with self.assertRaises(ValueError): _utils._get_arg_lengths(int)
def test_positional_and_keyword(self): def userfunc(a, b, c=True): return True args, vararg = _utils._get_arg_lengths(userfunc) self.assertEqual((args, vararg), (3, 0))