[py-svn] r34557 - in py/dist/py/test/rsession: . testing

fijal at codespeak.net fijal at codespeak.net
Mon Nov 13 13:53:18 CET 2006


Author: fijal
Date: Mon Nov 13 13:53:16 2006
New Revision: 34557

Modified:
   py/dist/py/test/rsession/rsession.py
   py/dist/py/test/rsession/slave.py
   py/dist/py/test/rsession/testing/test_config.py
   py/dist/py/test/rsession/testing/test_master.py
   py/dist/py/test/rsession/testing/test_rsession.py
Log:
Some fixes of options and some tests for that.


Modified: py/dist/py/test/rsession/rsession.py
==============================================================================
--- py/dist/py/test/rsession/rsession.py	(original)
+++ py/dist/py/test/rsession/rsession.py	Mon Nov 13 13:53:16 2006
@@ -62,8 +62,8 @@
             ses_opt = self.defaults
         for key in self.defaults:
             try:
-                val = getattr(ses_opt, key)
-            except AttributeError:
+                val = ses_opt[key]
+            except KeyError:
                 val = self.defaults[key]
             remote_options[key] = val
     

Modified: py/dist/py/test/rsession/slave.py
==============================================================================
--- py/dist/py/test/rsession/slave.py	(original)
+++ py/dist/py/test/rsession/slave.py	Mon Nov 13 13:53:16 2006
@@ -43,7 +43,6 @@
     while 1:
         nextitem = receive()
         if nextitem is None:
-            #py.test.Function.state.teardown_all()
             break
         try:
             node = getnode(nextitem)

Modified: py/dist/py/test/rsession/testing/test_config.py
==============================================================================
--- py/dist/py/test/rsession/testing/test_config.py	(original)
+++ py/dist/py/test/rsession/testing/test_config.py	Mon Nov 13 13:53:16 2006
@@ -3,18 +3,21 @@
 """
 
 import py
-from py.__.test.rsession.rsession import session_options, SessionOptions
+from py.__.test.rsession.rsession import session_options, SessionOptions,\
+   remote_options
 
 def test_session_opts():
     tmpdir = py.test.ensuretemp("sessionopts")
     tmpdir.ensure("conftest.py").write("""class SessionOptions:
         max_tasks_per_node = 5
+        nice_level = 10
     """)
     tmp2 = py.test.ensuretemp("xxx")
     args = [str(tmpdir)]
     config, args = py.test.Config.parse(args)
     session_options.bind_config(config)
     assert session_options.max_tasks_per_node == 5
+    assert remote_options.nice_level == 10
     config, args = py.test.Config.parse([str(tmp2)])
     session_options.bind_config(config)
     assert session_options.max_tasks_per_node == \

Modified: py/dist/py/test/rsession/testing/test_master.py
==============================================================================
--- py/dist/py/test/rsession/testing/test_master.py	(original)
+++ py/dist/py/test/rsession/testing/test_master.py	Mon Nov 13 13:53:16 2006
@@ -18,6 +18,7 @@
 def setup_module(mod):
     # bind an empty config
     config, args = py.test.Config.parse([])
+    config.options.max_tasks_per_node = 10
     session_options.bind_config(config)
     #assert not remote_options.exitfirst
     mod.pkgdir = py.path.local(py.__file__).dirpath()

Modified: py/dist/py/test/rsession/testing/test_rsession.py
==============================================================================
--- py/dist/py/test/rsession/testing/test_rsession.py	(original)
+++ py/dist/py/test/rsession/testing/test_rsession.py	Mon Nov 13 13:53:16 2006
@@ -279,6 +279,29 @@
         assert len(passed) == 2 * len(nodes)
         assert len(skipped) == 0
         assert len(events) == len(passed)
+    
+    def test_nice_level(self):
+        """ Tests if nice level behaviour is ok
+        """
+        allevents = []
+        hosts = ['localhost']
+        tmpdir = py.test.ensuretemp("nice")
+        tmpdir.ensure("__init__.py")
+        tmpdir.ensure("conftest.py").write("""disthosts = ['localhost']""")
+        tmpdir.ensure("test_one.py").write("""def test_nice():
+            import os
+            assert os.nice(0) == 10
+        """)
+        
+        config, args = py.test.Config.parse([str(tmpdir)])
+        config.option.nice_level = 10
+        rsession = RSession(config)
+        allevents = []
+        rsession.main(args, reporter=allevents.append) 
+        testevents = [x for x in allevents 
+                        if isinstance(x, report.ReceivedItemOutcome)]
+        passevents = [x for x in testevents if x.outcome.passed]
+        assert len(passevents) == 1
 
 class TestDirectories(object):
     def test_simple_parse(self):



More information about the pytest-commit mailing list