Revision: 925b4a67e7ad
Author:   Mikko Korpela <[email protected]>
Date:     Mon Nov 14 03:38:56 2011
Log: OutputBuilder to "normal" form .. no more need to write output.xml in every case
http://code.google.com/p/robotframework/source/detail?r=925b4a67e7ad

Modified:
 /src/robot/reporting/builders.py
 /src/robot/reporting/resultwriter.py

=======================================
--- /src/robot/reporting/builders.py    Mon Oct 24 03:12:31 2011
+++ /src/robot/reporting/builders.py    Mon Nov 14 03:38:56 2011
@@ -55,21 +55,8 @@
     _temp_file = None

     def build(self):
-        output_file = self._output_file()
- self._context.result_from_xml.serialize_output(output_file, log=not self._temp_file)
-        return output_file
-
-    def _output_file(self):
         if self._path:
-            return self._path
- handle, output_file = tempfile.mkstemp(suffix='.xml', prefix='rebot-')
-        os.close(handle)
-        self._temp_file = output_file
-        return output_file
-
-    def finalize(self):
-        if self._temp_file:
-            os.remove(self._temp_file)
+            self._context.result_from_xml.serialize_output(output_file)


 class XUnitBuilder(_Builder):
=======================================
--- /src/robot/reporting/resultwriter.py        Mon Nov 14 03:22:03 2011
+++ /src/robot/reporting/resultwriter.py        Mon Nov 14 03:38:56 2011
@@ -75,11 +75,16 @@
         XUnitBuilder(self).build()

     def write_rebot_results(self, *data_sources):
-        # FIXME: cleanup!!!
         self._data_sources = data_sources
+        OutputBuilder(self).build()
+        XUnitBuilder(self).build()
+        self._create_reporting_datamodel()
+        LogBuilder(self).build()
+        ReportBuilder(self).build()
+        return self._execution_result
+
+    def _create_reporting_datamodel(self):
self.result_from_xml # this line is insanely ugly .. only here for the side-effects
-        if self.settings['Output']:
-            OutputBuilder(self).build()
         visitor = DatamodelVisitor(self._execution_result,
                                    log_path=self.settings['Log'],
                                    split_log=self.settings['SplitLog'])
@@ -89,8 +94,6 @@
         self._execution_result.visit(CombiningVisitor(visitor,
KeywordRemovingVisitor()))
         self._data_model = DataModelWriter(visitor.datamodel)
-        self.write_robot_results(None)
-        return self._execution_result


 class ResultFromXML(object):

Reply via email to