2012/2/12 Vitja Makarov <vitja.makarov@gmail.com>:
2012/2/11 Robert Bradshaw <robertwb@math.washington.edu>:
All of Sage passes except for one test:
sage -t devel/sage/sage/misc/sageinspect.py ********************************************************************** File "/levi/scratch/robertwb/hudson/sage-4.8/devel/sage-main/sage/misc/sageinspect.py", line 970: sage: sage_getargspec(bernstein_polynomial_factory_ratlist.coeffs_bitsize) Expected: ArgSpec(args=['self'], varargs=None, keywords=None, defaults=None) Got: ArgSpec(args=['self'], varargs=None, keywords=None, defaults=()) ********************************************************************** File "/levi/scratch/robertwb/hudson/sage-4.8/devel/sage-main/sage/misc/sageinspect.py", line 973: sage: sage_getargspec(BooleanMonomialMonoid.gen) Expected: ArgSpec(args=['self', 'i'], varargs=None, keywords=None, defaults=(0,)) Got: ArgSpec(args=['self', 'i'], varargs=None, keywords=None, defaults=()) ********************************************************************** 1 items had failures: 2 of 31 in __main__.example_21 ***Test Failed*** 2 failures.
Any ideas why this would have changed?
CyFunction now provides its own code object. So inspect.getargs() is called instead of inspect.ArgSpec(*_sage_getargspec_cython(sage_getsource(obj))). It seems like func.func_defaults should be implemented.
I've created a pull request: https://github.com/cython/cython/pull/88 -- vitja.