4 new revisions:
Revision: 50395fb1313b
Author: Mikko Korpela <[email protected]>
Date: Wed Nov 16 00:19:38 2011
Log: cleanup
http://code.google.com/p/robotframework/source/detail?r=50395fb1313b
Revision: f0ff6a7b705b
Author: Mikko Korpela <[email protected]>
Date: Wed Nov 16 00:29:29 2011
Log: cleanup
http://code.google.com/p/robotframework/source/detail?r=f0ff6a7b705b
Revision: 5693512bb38f
Author: Mikko Korpela <[email protected]>
Date: Wed Nov 16 00:35:41 2011
Log: Subclass ResultWriter to RobotResultWriter
http://code.google.com/p/robotframework/source/detail?r=5693512bb38f
Revision: b3ca50ca664d
Author: Mikko Korpela <[email protected]>
Date: Wed Nov 16 00:35:58 2011
Log: Automated merge with https://code.google.com/p/robotframework/
http://code.google.com/p/robotframework/source/detail?r=b3ca50ca664d
==============================================================================
Revision: 50395fb1313b
Author: Mikko Korpela <[email protected]>
Date: Wed Nov 16 00:19:38 2011
Log: cleanup
http://code.google.com/p/robotframework/source/detail?r=50395fb1313b
Modified:
/src/robot/result/jsondatamodelhandlers.py
=======================================
--- /src/robot/result/jsondatamodelhandlers.py Tue Nov 15 05:13:11 2011
+++ /src/robot/result/jsondatamodelhandlers.py Wed Nov 16 00:19:38 2011
@@ -14,13 +14,12 @@
from robot import utils
from robot.output import LEVELS
-from robot.result import TestSuite, Keyword, TestCase
from robot.result.visitor import ResultVisitor
class _Handler(object):
- def __init__(self, context, attrs=None):
+ def __init__(self, context):
self._context = context
self._current_children = None
self._suites = []
@@ -44,7 +43,7 @@
self._current_children = self._tests
return TestHandler(self._context, test)
- def start_errors(self, errors):
+ def start_errors(self, _):
return _Handler(self._context)
def message(self, message):
@@ -125,7 +124,7 @@
'fail':stat_elem.failed,
'label':stat_elem.name}
- def end_element(self, text):
+ def end_element(self, _):
return self._result
@@ -135,9 +134,6 @@
_Handler.__init__(self, context)
self._source = suite.source
self._name = suite.name
- self._suites = []
- self._tests = []
- self._keywords = []
self._current_children = None
self._teardown_failed = False
self._context.start_suite()
@@ -207,9 +203,6 @@
def __init__(self, context, keyword):
_Handler.__init__(self, context)
- self._type = self._types[keyword.type]
- self._name = keyword.name
- self._timeout = keyword.timeout
self._keywords = []
self._messages = []
self._current_children = None
@@ -231,7 +224,9 @@
def end_element(self, keyword):
self._data_from_children.append(self._status)
- return self._get_ids(self._type, self._name, self._timeout) + \
+ return self._get_ids(self._types[keyword.type],
+ keyword.name,
+ keyword.timeout) + \
self._data_from_children + [self._get_keywords(),
self._messages]
def _get_keywords(self):
==============================================================================
Revision: f0ff6a7b705b
Author: Mikko Korpela <[email protected]>
Date: Wed Nov 16 00:29:29 2011
Log: cleanup
http://code.google.com/p/robotframework/source/detail?r=f0ff6a7b705b
Modified:
/src/robot/result/jsondatamodelhandlers.py
=======================================
--- /src/robot/result/jsondatamodelhandlers.py Wed Nov 16 00:19:38 2011
+++ /src/robot/result/jsondatamodelhandlers.py Wed Nov 16 00:29:29 2011
@@ -132,22 +132,19 @@
def __init__(self, context, suite):
_Handler.__init__(self, context)
- self._source = suite.source
- self._name = suite.name
self._current_children = None
self._teardown_failed = False
self._context.start_suite()
- self._doc = self._get_id(utils.html_format(suite.doc))
- self._data_from_children.append(self._doc)
+
self._data_from_children.append(self._get_id(utils.html_format(suite.doc)))
self._metadata = []
self._in_setup_or_teardown = False
for i in [self._get_ids(key, utils.html_format(value)) for key,
value in suite.metadata.items()]:
self._metadata.extend(i)
self._data_from_children.append(self._metadata)
- def _get_name_and_sources(self):
- return self._get_ids(self._name, self._source,
- self._context.get_rel_log_path(self._source))
+ def _get_name_and_sources(self, suite):
+ return self._get_ids(suite.name, suite.source,
+ self._context.get_rel_log_path(suite.source))
def _set_teardown_failed(self):
self._teardown_failed = True
@@ -165,7 +162,7 @@
if suite.message != '':
status.append(self._get_id(suite.message))
self._data_from_children.append(status)
- return self._get_name_and_sources() + self._data_from_children + \
+ return self._get_name_and_sources(suite) +
self._data_from_children + \
[self._suites, self._tests, self._keywords,
int(self._teardown_failed), stats]
@@ -174,14 +171,10 @@
def __init__(self, context, test):
_Handler.__init__(self, context)
- self._name = test.name
- self._timeout = test.timeout
self._keywords = []
self._current_children = None
self._context.start_test()
- self._critical = int(test.critical == 'yes')
- self._doc = self._get_id(utils.html_format(test.doc))
- self._data_from_children.append(self._doc)
+
self._data_from_children.append(self._get_id(utils.html_format(test.doc)))
self._status = _StatusHandler(self._context, test).end_element('')
if test.message != '':
self._status.append(self._get_id(test.message))
@@ -190,11 +183,12 @@
self._current_children.append(data)
def end_element(self, test):
+ critical = int(test.critical == 'yes')
self._data_from_children.append([self._get_id(tag) for tag in
test.tags])
self._data_from_children.append(self._status)
- self._context.add_test(self._critical, self._last_child_passed())
+ self._context.add_test(critical, self._last_child_passed())
kws = self._context.end_test(self._keywords)
- return self._get_ids(self._name, self._timeout, self._critical) + \
+ return self._get_ids(test.name, test.timeout, critical) + \
self._data_from_children + [kws]
@@ -207,8 +201,7 @@
self._messages = []
self._current_children = None
self._start()
- self._doc = self._get_id(utils.html_format(keyword.doc))
- self._data_from_children.append(self._doc)
+
self._data_from_children.append(self._get_id(utils.html_format(keyword.doc)))
self._args = self._get_id(', '.join(keyword.args))
self._data_from_children.append(self._args)
self._status = _StatusHandler(self._context,
keyword).end_element('')
@@ -275,17 +268,15 @@
_Handler.__init__(self, context)
self._msg = [self._context.timestamp(message.timestamp),
LEVELS[message.level]]
- self._is_html = message.html
- self._is_linkable_in_error_table = message.linkable
- self._is_warning = message.level == 'WARN'
+ self._message = message
def end_element(self, text):
- self._msg.append(text if self._is_html else
utils.html_escape(text))
+ self._msg.append(text if self._message.html else
utils.html_escape(text))
self._handle_warning_linking()
return self._get_ids(*self._msg)
def _handle_warning_linking(self):
- if self._is_linkable_in_error_table:
+ if self._message.linkable:
self._msg.append(self._context.link_to(self._msg))
- elif self._is_warning:
+ elif self._message.level == 'WARN':
self._context.create_link_to_current_location(self._msg)
==============================================================================
Revision: 5693512bb38f
Author: Mikko Korpela <[email protected]>
Date: Wed Nov 16 00:35:41 2011
Log: Subclass ResultWriter to RobotResultWriter
http://code.google.com/p/robotframework/source/detail?r=5693512bb38f
Modified:
/src/robot/__init__.py
/src/robot/reporting/__init__.py
/src/robot/reporting/resultwriter.py
/utest/reporting/test_reporting.py
=======================================
--- /src/robot/__init__.py Tue Nov 15 05:13:03 2011
+++ /src/robot/__init__.py Wed Nov 16 00:35:41 2011
@@ -46,7 +46,7 @@
from output import Output, LOGGER, pyloggingconf
from conf import RobotSettings, RebotSettings
from running import TestSuite, STOP_SIGNAL_MONITOR
-from robot.reporting import ResultWriter, RebotResultWriter
+from robot.reporting import RobotResultWriter, RebotResultWriter
from errors import (DataError, Information, INFO_PRINTED, DATA_ERROR,
STOPPED_BY_USER, FRAMEWORK_ERROR)
from variables import init_global_variables
@@ -130,7 +130,7 @@
output.close(suite)
if settings.is_rebot_needed():
output, settings = settings.get_rebot_datasource_and_settings()
- ResultWriter(settings).write_robot_results(output)
+ RobotResultWriter(settings).write_results(output)
LOGGER.close()
return suite, suite.return_code
@@ -153,7 +153,7 @@
settings = RebotSettings(options)
LOGGER.register_console_logger(colors=settings['MonitorColors'])
LOGGER.disable_message_cache()
- result = RebotResultWriter(settings).write_rebot_results(*datasources)
+ result = RebotResultWriter(settings).write_results(*datasources)
LOGGER.close()
return result.suite, result.return_code
=======================================
--- /src/robot/reporting/__init__.py Tue Nov 15 05:13:03 2011
+++ /src/robot/reporting/__init__.py Wed Nov 16 00:35:41 2011
@@ -13,4 +13,4 @@
# limitations under the License.
-from resultwriter import ResultWriter, RebotResultWriter
+from resultwriter import RobotResultWriter, RebotResultWriter
=======================================
--- /src/robot/reporting/resultwriter.py Tue Nov 15 06:59:44 2011
+++ /src/robot/reporting/resultwriter.py Wed Nov 16 00:35:41 2011
@@ -26,7 +26,7 @@
from robot.reporting.outputparser import OutputParser
-class ResultWriter(object):
+class _ResultWriter(object):
def __init__(self, settings):
self.settings = settings
@@ -34,13 +34,6 @@
self._data_model = None
self._data_sources = []
- @property
- def data_model(self):
- if self._data_model is None:
- parser = OutputParser(self.settings['Log'],
self.settings['SplitLog'])
- self._data_model = parser.parse(self._data_sources[0])
- return self._data_model
-
@property
def result_from_xml(self):
if self._xml_result is None:
@@ -66,16 +59,25 @@
return opts
- def write_robot_results(self, data_source):
+class RobotResultWriter(_ResultWriter):
+
+ @property
+ def data_model(self):
+ if self._data_model is None:
+ parser = OutputParser(self.settings['Log'],
self.settings['SplitLog'])
+ self._data_model = parser.parse(self._data_sources[0])
+ return self._data_model
+
+ def write_results(self, data_source):
self._data_sources = [data_source]
LogBuilder(self).build()
ReportBuilder(self).build()
XUnitBuilder(self).build()
-class RebotResultWriter(ResultWriter):
-
- def write_rebot_results(self, *data_sources):
+class RebotResultWriter(_ResultWriter):
+
+ def write_results(self, *data_sources):
self._data_sources = data_sources
OutputBuilder(self).build()
XUnitBuilder(self).build()
=======================================
--- /utest/reporting/test_reporting.py Tue Nov 15 05:43:49 2011
+++ /utest/reporting/test_reporting.py Wed Nov 16 00:35:41 2011
@@ -4,7 +4,7 @@
from robot.reporting.builders import LogBuilder, ReportBuilder,
XUnitBuilder, OutputBuilder
import resources
-from robot.reporting.resultwriter import RebotResultWriter, ResultWriter
+from robot.reporting.resultwriter import RebotResultWriter,
RobotResultWriter
def set_write_log_mock():
@@ -96,31 +96,31 @@
def test_generate_report_and_log(self):
self._settings['Log'] = 'log.html'
self._settings['Report'] = 'report.html'
- self._reporter.write_robot_results(resources.GOLDEN_OUTPUT)
+ self._reporter.write_results(resources.GOLDEN_OUTPUT)
self._assert_expected_log('log.html')
self._assert_expected_report('report.html')
def test_no_generation(self):
- self._reporter.write_robot_results(resources.GOLDEN_OUTPUT)
+ self._reporter.write_results(resources.GOLDEN_OUTPUT)
self._assert_no_log()
self._assert_no_report()
self._assert_no_data_model_generation()
def test_only_log(self):
self._settings['Log'] = 'only-log.html'
- self._reporter.write_robot_results(resources.GOLDEN_OUTPUT)
+ self._reporter.write_results(resources.GOLDEN_OUTPUT)
self._assert_expected_log('only-log.html')
self._assert_no_report()
def test_only_report(self):
self._settings['Report'] = 'reports-only.html'
- self._reporter.write_robot_results(resources.GOLDEN_OUTPUT)
+ self._reporter.write_results(resources.GOLDEN_OUTPUT)
self._assert_no_log()
self._assert_expected_report('reports-only.html')
def test_only_xunit(self):
self._settings['XUnitFile'] = 'xunitfile-only.xml'
- self._reporter.write_robot_results(resources.GOLDEN_OUTPUT)
+ self._reporter.write_results(resources.GOLDEN_OUTPUT)
self._assert_no_log()
self._assert_no_report()
self._assert_expected_xunit('xunitfile-only.xml')
@@ -165,7 +165,7 @@
self._reporter = RebotResultWriter(self._settings)
def _write_results(self, *sources):
- self._reporter.write_rebot_results(*sources)
+ self._reporter.write_results(*sources)
def test_multiple_outputs(self):
self._settings['Log'] = 'log.html'
@@ -187,10 +187,10 @@
def setUp(self):
_TestReporting.setUp(self)
- self._reporter = ResultWriter(self._settings)
+ self._reporter = RobotResultWriter(self._settings)
def _write_results(self, source):
- self._reporter.write_robot_results(source)
+ self._reporter.write_results(source)
if __name__ == '__main__':
==============================================================================
Revision: b3ca50ca664d
Author: Mikko Korpela <[email protected]>
Date: Wed Nov 16 00:35:58 2011
Log: Automated merge with https://code.google.com/p/robotframework/
http://code.google.com/p/robotframework/source/detail?r=b3ca50ca664d