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

fijal at codespeak.net fijal at codespeak.net
Tue Dec 5 21:08:40 CET 2006


Author: fijal
Date: Tue Dec  5 21:08:36 2006
New Revision: 35334

Modified:
   py/dist/py/test/rsession/testing/test_web.py
   py/dist/py/test/rsession/web.py
   py/dist/py/test/rsession/webdata/source.js
   py/dist/py/test/rsession/webjs.py
Log:
Fixed issues regardin js_optiondescr and friends
Added new status line (arigo's suggestion)


Modified: py/dist/py/test/rsession/testing/test_web.py
==============================================================================
--- py/dist/py/test/rsession/testing/test_web.py	(original)
+++ py/dist/py/test/rsession/testing/test_web.py	Tue Dec  5 21:08:36 2006
@@ -5,23 +5,28 @@
 import py
 
 try:
-    from pypy.translator.js.main import rpython2javascript, Options
+    from pypy.translator.js.main import rpython2javascript
     from pypy.translator.js import commproxy
     
     commproxy.USE_MOCHIKIT = False
-    Options.debug_transform = True
-    Options.use_pdb = False
 except ImportError:
     py.test.skip("No PyPy detected")
 
-from py.__.test.rsession.web import TestHandler as _TestHandler
-from py.__.test.rsession.web import MultiQueue
+def setup_module(mod):
+    config, args = py.test.Config.parse([])
+    from py.__.test.rsession.rsession import session_options
+    session_options.bind_config(config)
+    session_options.import_pypy = True
+    from py.__.test.rsession.web import TestHandler as _TestHandler
+    from py.__.test.rsession.web import MultiQueue
+    mod._TestHandler = _TestHandler
+    mod.MultiQueue = MultiQueue
 
 def test_js_generate():
     from py.__.test.rsession import webjs
     from py.__.test.rsession.web import FUNCTION_LIST
     
-    source = rpython2javascript(webjs, FUNCTION_LIST, Options, use_pdb=False)
+    source = rpython2javascript(webjs, FUNCTION_LIST)
     assert source
 
 def test_parse_args():

Modified: py/dist/py/test/rsession/web.py
==============================================================================
--- py/dist/py/test/rsession/web.py	(original)
+++ py/dist/py/test/rsession/web.py	Tue Dec  5 21:08:36 2006
@@ -33,10 +33,9 @@
         raise ImportError
     from pypy.rpython.ootypesystem.bltregistry import MethodDesc, BasicExternal,\
                                                       described
-    from pypy.translator.js.main import rpython2javascript, Options
+    from pypy.translator.js.main import rpython2javascript
     from pypy.translator.js import commproxy
 
-    Options.debug_transform = False
     commproxy.USE_MOCHIKIT = False
     IMPORTED_PYPY = True
 except ImportError:
@@ -128,6 +127,7 @@
         self.fail_reasons = {}
         self.stdout = {}
         self.stderr = {}
+        self.all = 0
     
     def findmodule(self, item):
         # find the most outwards parent which is module
@@ -215,6 +215,11 @@
                 args['hostkey'] = ''
         elif isinstance(event, report.ItemStart):
             args = add_item(event)
+        elif isinstance(event, report.TestFinished):
+            args = {}
+            args['run'] = str(self.all)
+            args['fails'] = str(len(self.fail_reasons))
+            args['skips'] = str(len(self.skip_reasons))
         elif isinstance(event, report.SendItem):
             args = add_item(event)
             args['hostkey'] = event.channel.gateway.hostid
@@ -251,6 +256,7 @@
         return lines
 
     def report_ReceivedItemOutcome(self, event):
+        self.all += 1
         self.pending_events.put(event)
     
     def report_ItemStart(self, event):
@@ -353,7 +359,7 @@
             from py.__.test.rsession import webjs
 
             javascript_source = rpython2javascript(webjs,
-                FUNCTION_LIST, Options)
+                FUNCTION_LIST, use_pdb=False)
             # XXX: This did not work for some reason, no idea why
             open(str(js_name), "w").write(javascript_source)
             self.serve_data("text/javascript", javascript_source)
@@ -374,6 +380,7 @@
     if start_new:
         thread.start_new_thread(httpd.serve_forever, ())
         print "Server started, listening on %s" % (server_address,)
+        return httpd
     else:
         print "Server started, listening on %s" % (server_address,)
         httpd.serve_forever()

Modified: py/dist/py/test/rsession/webdata/source.js
==============================================================================
Binary files. No diff available.

Modified: py/dist/py/test/rsession/webjs.py
==============================================================================
--- py/dist/py/test/rsession/webjs.py	(original)
+++ py/dist/py/test/rsession/webjs.py	Tue Dec  5 21:08:36 2006
@@ -158,9 +158,10 @@
         counter_part.childNodes[0].nodeValue = newcontent
         module_part.childNodes[-1].appendChild(td)
     elif msg['type'] == 'TestFinished':
-        dom.get_document().title = "Py.test [FINISHED]"
+        text = "FINISHED %s run, %s failures, %s skipped" % (msg['run'], msg['fails'], msg['skips'])
+        dom.get_document().title = "Py.test %s" % text
         dom.get_document().getElementById("Tests").childNodes[0].nodeValue = \
-                                                    "Tests [FINISHED]"
+                                                    "Tests [%s]" % text
     elif msg['type'] == 'FailedTryiter':
         module_part = get_elem(msg['fullitemname'])
         if not module_part:


More information about the py-svn mailing list