Author: Armin Rigo <[email protected]>
Branch:
Changeset: r92417:435111355ce7
Date: 2017-09-19 11:52 +0200
http://bitbucket.org/pypy/pypy/changeset/435111355ce7/
Log: Issue #2659
Test and fix for a special case
diff --git a/pypy/interpreter/test/test_typedef.py
b/pypy/interpreter/test/test_typedef.py
--- a/pypy/interpreter/test/test_typedef.py
+++ b/pypy/interpreter/test/test_typedef.py
@@ -419,3 +419,7 @@
def f():
return x
assert f.__closure__[0].cell_contents is x
+
+ def test_get_with_none_arg(self):
+ raises(TypeError, type.__dict__['__mro__'].__get__, None)
+ raises(TypeError, type.__dict__['__mro__'].__get__, None, None)
diff --git a/pypy/interpreter/typedef.py b/pypy/interpreter/typedef.py
--- a/pypy/interpreter/typedef.py
+++ b/pypy/interpreter/typedef.py
@@ -297,6 +297,8 @@
if (space.is_w(w_obj, space.w_None)
and not space.is_w(w_cls, space.type(space.w_None))):
#print self, w_obj, w_cls
+ if space.is_w(w_cls, space.w_None):
+ raise oefmt(space.w_TypeError, "__get__(None, None) is
invalid")
return self
else:
try:
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit