[pypy-svn] r41154 - in pypy/dist/pypy/module/clr: . test
antocuni at codespeak.net
antocuni at codespeak.net
Fri Mar 23 11:51:37 CET 2007
Author: antocuni
Date: Fri Mar 23 11:51:36 2007
New Revision: 41154
Modified:
pypy/dist/pypy/module/clr/interp_clr.py
pypy/dist/pypy/module/clr/test/test_clr.py
Log:
test&fix a last-minute bug in the clr module
Modified: pypy/dist/pypy/module/clr/interp_clr.py
==============================================================================
--- pypy/dist/pypy/module/clr/interp_clr.py (original)
+++ pypy/dist/pypy/module/clr/interp_clr.py Fri Mar 23 11:51:36 2007
@@ -15,10 +15,14 @@
def get_method(space, b_type, name, b_paramtypes):
try:
- return b_type.GetMethod(name, b_paramtypes)
+ method = b_type.GetMethod(name, b_paramtypes)
except AmbiguousMatchException:
msg = 'Multiple overloads for %s could match' % name
raise OperationError(space.w_TypeError, space.wrap(msg))
+ if method is None:
+ msg = 'No overloads for %s could match' % name
+ raise OperationError(space.w_TypeError, space.wrap(msg))
+ return method
def get_constructor(space, b_type, b_paramtypes):
try:
Modified: pypy/dist/pypy/module/clr/test/test_clr.py
==============================================================================
--- pypy/dist/pypy/module/clr/test/test_clr.py (original)
+++ pypy/dist/pypy/module/clr/test/test_clr.py Fri Mar 23 11:51:36 2007
@@ -78,6 +78,11 @@
assert obj.IndexOf(7) == 7
assert obj.IndexOf(7, 0, 5) == -1
+ def test_wrong_overload(self):
+ import clr
+ Math = clr.load_cli_class('System', 'Math')
+ raises(TypeError, Math.Abs, "foo")
+
def test_staticmethod(self):
import clr
Math = clr.load_cli_class('System', 'Math')
More information about the Pypy-commit
mailing list