[pypy-commit] pypy default: Move -A only test to extra_tests/
rlamy
pypy.commits at gmail.com
Fri Nov 16 11:20:42 EST 2018
Author: Ronan Lamy <ronan.lamy at gmail.com>
Branch:
Changeset: r95321:3bb601076be2
Date: 2018-11-16 16:15 +0000
http://bitbucket.org/pypy/pypy/changeset/3bb601076be2/
Log: Move -A only test to extra_tests/
diff --git a/extra_tests/test_interpreter.py b/extra_tests/test_interpreter.py
new file mode 100644
--- /dev/null
+++ b/extra_tests/test_interpreter.py
@@ -0,0 +1,36 @@
+from __future__ import print_function
+import pytest
+
+ at pytest.fixture
+def testfile(tmpdir):
+ tmpfile = tmpdir.join('test_execution_context')
+ tmpfile.write("""
+from __future__ import print_function
+import gc
+class X(object):
+ def __del__(self):
+ print("Called", self.num)
+def f():
+ x1 = X(); x1.num = 1
+ x2 = X(); x2.num = 2
+ x1.next = x2
+f()
+gc.collect()
+gc.collect()
+""")
+ return tmpfile
+
+
+def test_del_not_blocked(testfile):
+ # test the behavior fixed in r71420: before, only one __del__
+ # would be called
+ import os, sys
+ if sys.platform == "win32":
+ cmdformat = '"%s" "%s"'
+ else:
+ cmdformat = "'%s' '%s'"
+ g = os.popen(cmdformat % (sys.executable, testfile), 'r')
+ data = g.read()
+ g.close()
+ assert 'Called 1' in data
+ assert 'Called 2' in data
diff --git a/pypy/interpreter/test/test_executioncontext.py b/pypy/interpreter/test/test_executioncontext.py
--- a/pypy/interpreter/test/test_executioncontext.py
+++ b/pypy/interpreter/test/test_executioncontext.py
@@ -43,7 +43,7 @@
class Action1(executioncontext.AsyncAction):
def perform(self, ec, frame):
events.append('one')
-
+
class Action2(executioncontext.AsyncAction):
def perform(self, ec, frame):
events.append('two')
@@ -76,7 +76,7 @@
class Action1(executioncontext.AsyncAction):
_count = 0
-
+
def perform(self, ec, frame):
events.append('one')
if self._count == 0:
@@ -139,11 +139,11 @@
def test_llprofile(self):
l = []
-
+
def profile_func(space, w_arg, frame, event, w_aarg):
assert w_arg is space.w_None
l.append(event)
-
+
space = self.space
space.getexecutioncontext().setllprofile(profile_func, space.w_None)
space.appexec([], """():
@@ -157,7 +157,7 @@
l = []
seen = []
space = self.space
-
+
def profile_func(space, w_arg, frame, event, w_func):
assert w_arg is space.w_None
l.append(event)
@@ -190,10 +190,10 @@
check_snippet('max(1, 2, **{})', 'builtin max')
check_snippet('args = (1, 2); max(*args, **{})', 'builtin max')
check_snippet('abs(val=0)', 'builtin abs')
-
+
def test_llprofile_c_exception(self):
l = []
-
+
def profile_func(space, w_arg, frame, event, w_aarg):
assert w_arg is space.w_None
l.append(event)
@@ -308,7 +308,7 @@
space = self.space
w_res = space.appexec([], """():
l = []
-
+
def profile(*args):
l.append(sys.exc_info()[0])
@@ -327,45 +327,6 @@
""")
-class AppTestDelNotBlocked:
-
- def setup_method(self, meth):
- if not self.runappdirect:
- py.test.skip("test is meant for running with py.test -A")
- from rpython.tool.udir import udir
- tmpfile = udir.join('test_execution_context')
- tmpfile.write("""
-import gc
-class X(object):
- def __del__(self):
- print "Called", self.num
-def f():
- x1 = X(); x1.num = 1
- x2 = X(); x2.num = 2
- x1.next = x2
-f()
-gc.collect()
-gc.collect()
-""")
- self.tmpfile = str(tmpfile)
- self.w_tmpfile = self.space.wrap(self.tmpfile)
-
- def test_del_not_blocked(self):
- # test the behavior fixed in r71420: before, only one __del__
- # would be called
- import os, sys
- print sys.executable, self.tmpfile
- if sys.platform == "win32":
- cmdformat = '"%s" "%s"'
- else:
- cmdformat = "'%s' '%s'"
- g = os.popen(cmdformat % (sys.executable, self.tmpfile), 'r')
- data = g.read()
- g.close()
- assert 'Called 1' in data
- assert 'Called 2' in data
-
-
class AppTestProfile:
def test_return(self):
More information about the pypy-commit
mailing list