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

fijal at codespeak.net fijal at codespeak.net
Wed Jan 10 19:55:02 CET 2007


Author: fijal
Date: Wed Jan 10 19:55:01 2007
New Revision: 36431

Modified:
   py/dist/py/test/rsession/reporter.py
   py/dist/py/test/rsession/testing/test_reporter.py
Log:
Added information about hosts which needs to be rsynced (and a test :)


Modified: py/dist/py/test/rsession/reporter.py
==============================================================================
--- py/dist/py/test/rsession/reporter.py	(original)
+++ py/dist/py/test/rsession/reporter.py	Wed Jan 10 19:55:01 2007
@@ -64,10 +64,16 @@
                                       item.remoterootpath)
     
     def report_HostReady(self, item):
-        print "%10s: READY" % item.hostname[:10]
+        self.hosts_to_rsync -= 1
+        if self.hosts_to_rsync:
+            print "%10s: READY (still %d to go)" % (item.hostname[:10],
+                                                self.hosts_to_rsync)
+        else:
+            print "%10s: READY" % item.hostname[:10]
     
     def report_TestStarted(self, item):
         txt = " Test started, hosts: %s " % ", ".join(item.hosts)
+        self.hosts_to_rsync = len(item.hosts)
         self.out.sep("=", txt)
         self.timestart = item.timestart
 

Modified: py/dist/py/test/rsession/testing/test_reporter.py
==============================================================================
--- py/dist/py/test/rsession/testing/test_reporter.py	(original)
+++ py/dist/py/test/rsession/testing/test_reporter.py	Wed Jan 10 19:55:01 2007
@@ -133,6 +133,26 @@
         sys.stdout = stdoutcopy
         assert s.getvalue().find("NameError: name 'sadsadsa' is not defined") != -1
 
+    def _test_still_to_go(self):
+        tmpdir = py.test.ensuretemp("stilltogo")
+        tmpdir.ensure("__init__.py")
+        s = StringIO()
+        stdoutcopy = sys.stdout
+        sys.stdout = s
+        config, args = py.test.Config.parse([str(tmpdir)])
+        hosts = ["host1", "host2", "host3"]
+        r = self.reporter(config, hosts)
+        r.report(report.TestStarted(hosts))
+        r.report(report.HostReady("host1", "host1"))
+        r.report(report.HostReady("host2", "host2"))
+        r.report(report.HostReady("host3", "host3"))
+        sys.stdout = stdoutcopy
+        expected = """=================  Test started, hosts: host1, host2, host3  ==================
+     host1: READY (still 2 to go)
+     host2: READY (still 1 to go)
+     host3: READY"""
+        assert s.getvalue().startswith(expected)
+
 class TestLocalReporter(AbstractTestReporter):
     reporter = LocalReporter
     
@@ -154,6 +174,9 @@
 class TestRemoteReporter(AbstractTestReporter):
     reporter = RemoteReporter
 
+    def test_still_to_go(self):
+        self._test_still_to_go()
+
     def test_report_received_item_outcome(self):
         val = self.report_received_item_outcome()
         expected = """ localhost: FAILED  py test rsession testing test_slave.py funcpass


More information about the py-svn mailing list