Author: Armin Rigo <[email protected]>
Branch: py3.5
Changeset: r91982:2cfb43090965
Date: 2017-07-27 17:31 +0200
http://bitbucket.org/pypy/pypy/changeset/2cfb43090965/
Log: Manual merge of the test from e71aec0042dd
diff --git a/pypy/interpreter/test/test_function.py
b/pypy/interpreter/test/test_function.py
--- a/pypy/interpreter/test/test_function.py
+++ b/pypy/interpreter/test/test_function.py
@@ -1,5 +1,5 @@
# encoding: utf-8
-import pytest
+import pytest, sys
from pypy.interpreter import eval
from pypy.interpreter.function import Function, Method, descr_function_get
from pypy.interpreter.pycode import PyCode
@@ -416,6 +416,11 @@
raises(ValueError, FunctionType.__setstate__, f, (1, 2, 3))
class AppTestMethod:
+ def setup_class(cls):
+ cls.w_runappdirect_on_cpython = cls.space.wrap(
+ cls.runappdirect and
+ '__pypy__' not in sys.builtin_module_names)
+
def test_simple_call(self):
class A(object):
def func(self, arg2):
@@ -586,7 +591,6 @@
assert meth == meth
assert meth == MethodType(func, object)
- @pytest.mark.skipif("config.option.runappdirect")
def test_method_identity(self):
class A(object):
def m(self):
@@ -603,19 +607,24 @@
a = A()
a2 = A()
- assert a.m is a.m
- assert id(a.m) == id(a.m)
- assert a.m is not a.n
- assert id(a.m) != id(a.n)
- assert a.m is not a2.m
- assert id(a.m) != id(a2.m)
+ x = a.m; y = a.m
+ assert x is not y
+ assert id(x) != id(y)
+ assert x == y
+ assert x is not a.n
+ assert id(x) != id(a.n)
+ assert x is not a2.m
+ assert id(x) != id(a2.m)
- assert A.m is A.m
- assert id(A.m) == id(A.m)
- assert A.m is not A.n
- assert id(A.m) != id(A.n)
- assert A.m is B.m
- assert id(A.m) == id(B.m)
+ if not self.runappdirect_on_cpython:
+ assert A.m is A.m
+ assert id(A.m) == id(A.m)
+ assert A.m == A.m
+ x = A.m
+ assert x is not A.n
+ assert id(x) != id(A.n)
+ assert x is B.m
+ assert id(x) == id(B.m)
class TestMethod:
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit