[pypy-commit] pypy testing-cleanup: Fix test_compiler.py
rlamy
pypy.commits at gmail.com
Tue Jun 7 12:45:06 EDT 2016
Author: Ronan Lamy <ronan.lamy at gmail.com>
Branch: testing-cleanup
Changeset: r85002:2401420c43db
Date: 2016-06-07 17:44 +0100
http://bitbucket.org/pypy/pypy/changeset/2401420c43db/
Log: Fix test_compiler.py
Make sure testing happens during the testing phase: the deprecated
"generator tests" are executed during collection and should not do
any testing themselves but merely yield a test function.
diff --git a/pypy/interpreter/astcompiler/test/test_compiler.py b/pypy/interpreter/astcompiler/test/test_compiler.py
--- a/pypy/interpreter/astcompiler/test/test_compiler.py
+++ b/pypy/interpreter/astcompiler/test/test_compiler.py
@@ -458,14 +458,17 @@
decl = str(decl) + "\n"
yield self.st, decl, 'x', (1, 2, 3, 4)
+ def test_closure_error(self):
source = """if 1:
def f(a):
del a
def x():
a
"""
- exc = py.test.raises(SyntaxError, self.run, source).value
- assert exc.msg == "Can't delete variable used in nested scopes: 'a'"
+ with py.test.raises(SyntaxError) as excinfo:
+ self.run(source)
+ msg = excinfo.value.msg
+ assert msg == "Can't delete variable used in nested scopes: 'a'"
def test_try_except_finally(self):
yield self.simple_test, """
@@ -879,7 +882,20 @@
"""
self.simple_test(source, 'ok', 1)
- def test_remove_docstring(self):
+ @py.test.mark.parametrize('expr, result', [
+ ("f1.__doc__", None),
+ ("f2.__doc__", 'docstring'),
+ ("f2()", 'docstring'),
+ ("f3.__doc__", None),
+ ("f3()", 'bar'),
+ ("C1.__doc__", None),
+ ("C2.__doc__", 'docstring'),
+ ("C3.field", 'not docstring'),
+ ("C4.field", 'docstring'),
+ ("C4.__doc__", 'docstring'),
+ ("C4.__doc__", 'docstring'),
+ ("__doc__", None),])
+ def test_remove_docstring(self, expr, result):
source = '"module_docstring"\n' + """if 1:
def f1():
'docstring'
@@ -903,19 +919,7 @@
code_w.remove_docstrings(self.space)
dict_w = self.space.newdict();
code_w.exec_code(self.space, dict_w, dict_w)
-
- yield self.check, dict_w, "f1.__doc__", None
- yield self.check, dict_w, "f2.__doc__", 'docstring'
- yield self.check, dict_w, "f2()", 'docstring'
- yield self.check, dict_w, "f3.__doc__", None
- yield self.check, dict_w, "f3()", 'bar'
- yield self.check, dict_w, "C1.__doc__", None
- yield self.check, dict_w, "C2.__doc__", 'docstring'
- yield self.check, dict_w, "C3.field", 'not docstring'
- yield self.check, dict_w, "C4.field", 'docstring'
- yield self.check, dict_w, "C4.__doc__", 'docstring'
- yield self.check, dict_w, "C4.__doc__", 'docstring'
- yield self.check, dict_w, "__doc__", None
+ self.check(dict_w, expr, result)
def test_assert_skipping(self):
space = self.space
@@ -1111,7 +1115,7 @@
return d['f'](5)
""")
assert 'generator' in space.str_w(space.repr(w_generator))
-
+
def test_list_comprehension(self):
source = "def f(): [i for i in l]"
source2 = "def f(): [i for i in l for j in l]"
More information about the pypy-commit
mailing list