[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