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):