Revision: f85ee8611eae
Author:   Janne Härkönen <[email protected]>
Date:     Sat Nov  5 04:54:17 2011
Log:      rebot: correctly configure Statistics()
http://code.google.com/p/robotframework/source/detail?r=f85ee8611eae

Modified:
 /src/robot/reporting/resultwriter.py
 /src/robot/result/model.py

=======================================
--- /src/robot/reporting/resultwriter.py        Sat Nov  5 02:54:53 2011
+++ /src/robot/reporting/resultwriter.py        Sat Nov  5 04:54:17 2011
@@ -84,20 +84,20 @@

     def __init__(self, execution_result, settings=None):
         self.result = execution_result
-        self.suite = execution_result.suite
-        self.exec_errors = execution_result.errors
-        if settings:
- params = (settings['SuiteStatLevel'], settings['TagStatInclude'], - settings['TagStatExclude'], settings['TagStatCombine'],
-                      settings['TagDoc'], settings['TagStatLink'])
-        else:
-            params = ()
-        self.statistics = Statistics(self.suite, *params)
+        self._settings = settings
         self._generator = 'Robot'

     def serialize_output(self, path, log=True):
         if path == 'NONE':
             return
+        if self._settings:
+            settings = self._settings
+ params = (settings['SuiteStatLevel'], settings['TagStatInclude'], + settings['TagStatExclude'], settings['TagStatCombine'],
+                      settings['TagDoc'], settings['TagStatLink'])
+        else:
+            params = ()
+        self.result.configure_statistics(*params)
         serializer = RebotXMLWriter(path)
         self.result.visit(serializer)
         if log:
@@ -108,7 +108,7 @@
             return
         serializer = XUnitWriter(path)
         try:
-            self.suite.visit(serializer)
+            self.result.suite.visit(serializer)
         except:
             raise DataError("Writing XUnit result file '%s' failed: %s" %
                             (path, utils.get_error_message()))
=======================================
--- /src/robot/result/model.py  Sat Nov  5 02:54:53 2011
+++ /src/robot/result/model.py  Sat Nov  5 04:54:17 2011
@@ -30,10 +30,11 @@
         self.errors = ExecutionErrors()
         self.generator = None
         self.should_return_status_rc = True
+        self._stat_opts = ()

     @property
     def statistics(self):
-        return Statistics(self.suite)
+        return Statistics(self.suite, *self._stat_opts)

     @property
     def return_code(self):
@@ -45,6 +46,9 @@
         self.should_return_status_rc = status_rc
         SuiteConfigurer(**suite_opts).configure(self.suite)

+    def configure_statistics(self, *stat_opts): #TODO: use **kwargs
+        self._stat_opts = stat_opts
+
     def visit(self, visitor):
         visitor.visit_result(self)

Reply via email to