[py-svn] r51528 - py/branch/event/py/test2/testing
hpk at codespeak.net
hpk at codespeak.net
Fri Feb 15 14:30:40 CET 2008
Author: hpk
Date: Fri Feb 15 14:30:39 2008
New Revision: 51528
Modified:
py/branch/event/py/test2/testing/test_collect.py
py/branch/event/py/test2/testing/test_setup_nested.py
Log:
unskip and move some setup tests
Modified: py/branch/event/py/test2/testing/test_collect.py
==============================================================================
--- py/branch/event/py/test2/testing/test_collect.py (original)
+++ py/branch/event/py/test2/testing/test_collect.py Fri Feb 15 14:30:39 2008
@@ -188,41 +188,6 @@
assert passed == 4
assert not skipped and not failed
-def test_check_generator_collect_problems():
- tmp = py.test2.ensuretemp("gener_coll")
- tmp.ensure("test_one.py").write(py.code.Source("""
- def setup_module(mod):
- mod.x = [1,2,3]
-
- def check(zzz):
- assert zzz
-
- def test_one():
- for i in x:
- yield check, i
- """))
- tmp.ensure("__init__.py")
- col = py.test2.collect.Module(tmp.join("test_one.py"))
- assert len(col.join('test_one').run()) == 3
-
-def test_generator_setup_invoked_twice():
- py.test.skip("Test for generators not invoking setup, needs thinking")
- tmp = py.test2.ensuretemp("generator_setup_invoke")
- tmp.ensure("test_one.py").write(py.code.Source("""
- def setup_module(mod):
- mod.x = []
-
- def setup_function(fun):
- x.append(1)
-
- def test_one():
- yield lambda: None
- """))
- tmp.ensure("__init__.py")
- col = py.test2.collect.Module(tmp.join("test_one.py"))
- l = list(col._tryiter())
- assert not hasattr(col.obj, 'x')
-
def test_check_directory_ordered():
tmpdir = py.test2.ensuretemp("test_check_directory_ordered")
fnames = []
Modified: py/branch/event/py/test2/testing/test_setup_nested.py
==============================================================================
--- py/branch/event/py/test2/testing/test_setup_nested.py (original)
+++ py/branch/event/py/test2/testing/test_setup_nested.py Fri Feb 15 14:30:39 2008
@@ -2,6 +2,7 @@
# test correct setup/teardowns at
# module, class, and instance level
+import py
import suptest
def test_module_and_function_setup():
@@ -29,7 +30,10 @@
assert modlevel[0] == 42
assert not hasattr(test_modlevel, 'answer')
""")
- sorter.assertoutcome(passed=2)
+ rep = sorter.getreport("test_modlevel")
+ assert rep.passed
+ rep = sorter.getreport("test_module")
+ assert rep.passed
def test_class_setup():
sorter = suptest.events_from_runsource("""
@@ -70,7 +74,7 @@
""")
sorter.assertoutcome(passed=2)
-def test_generator_setup():
+def test_method_generator_setup():
sorter = suptest.events_from_runsource("""
class TestSetupTeardownOnInstance:
def setup_class(cls):
@@ -91,3 +95,34 @@
assert value == 5
""")
sorter.assertoutcome(passed=1, failed=1)
+
+def test_func_generator_setup():
+ sorter = suptest.events_from_runsource("""
+ import sys
+
+ def setup_module(mod):
+ print "setup_module"
+ mod.x = []
+
+ def setup_function(fun):
+ print "setup_function"
+ x.append(1)
+
+ def teardown_function(fun):
+ print "teardown_function"
+ x.pop()
+
+ def test_one():
+ assert x == [1]
+ def check():
+ print "check"
+ print >>sys.stderr, "e"
+ assert x == [1]
+ yield check
+ assert x == [1]
+ """)
+ rep = sorter.getreport("test_one")
+ assert rep.passed
+ assert rep.stdout == "check\n"
+ assert rep.stderr == "e\n"
+
More information about the py-svn
mailing list