diff options
Diffstat (limited to 'addons/gut/junit_xml_export.gd')
| -rw-r--r-- | addons/gut/junit_xml_export.gd | 94 |
1 files changed, 0 insertions, 94 deletions
diff --git a/addons/gut/junit_xml_export.gd b/addons/gut/junit_xml_export.gd deleted file mode 100644 index 116cfdf..0000000 --- a/addons/gut/junit_xml_export.gd +++ /dev/null @@ -1,94 +0,0 @@ -# ------------------------------------------------------------------------------ -# Creates an export of a test run in the JUnit XML format. -# ------------------------------------------------------------------------------ -var _utils = load('res://addons/gut/utils.gd').get_instance() - -var _exporter = _utils.ResultExporter.new() - -func indent(s, ind): - var to_return = ind + s - to_return = to_return.replace("\n", "\n" + ind) - return to_return - - -func add_attr(name, value): - return str(name, '="', value, '" ') - -func _export_test_result(test): - var to_return = '' - - # Right now the pending and failure messages won't fit in the message - # attribute because they can span multiple lines and need to be escaped. - if(test.status == 'pending'): - var skip_tag = str("<skipped message=\"pending\">", test.pending[0], "</skipped>") - to_return += skip_tag - elif(test.status == 'fail'): - var fail_tag = str("<failure message=\"failed\">", test.failing[0], "</failure>") - to_return += fail_tag - - return to_return - - -func _export_tests(script_result, classname): - var to_return = "" - - for key in script_result.keys(): - var test = script_result[key] - var assert_count = test.passing.size() + test.failing.size() - to_return += "<testcase " - to_return += add_attr("name", key) - to_return += add_attr("assertions", assert_count) - to_return += add_attr("status", test.status) - to_return += add_attr("classname", classname) - to_return += ">\n" - - to_return += _export_test_result(test) - - to_return += "</testcase>\n" - - return to_return - - -func _export_scripts(exp_results): - var to_return = "" - for key in exp_results.test_scripts.scripts.keys(): - var s = exp_results.test_scripts.scripts[key] - to_return += "<testsuite " - to_return += add_attr("name", key) - to_return += add_attr("tests", s.props.tests) - to_return += add_attr("failures", s.props.failures) - to_return += add_attr("skipped", s.props.pending) - to_return += ">\n" - - to_return += indent(_export_tests(s.tests, key), " ") - - to_return += "</testsuite>\n" - - return to_return - - -func get_results_xml(gut): - var exp_results = _exporter.get_results_dictionary(gut) - var to_return = '<?xml version="1.0" encoding="UTF-8"?>' + "\n" - to_return += '<testsuites ' - to_return += add_attr("name", 'GutTests') - to_return += add_attr("failures", exp_results.test_scripts.props.failures) - to_return += add_attr('tests', exp_results.test_scripts.props.tests) - to_return += ">\n" - - to_return += indent(_export_scripts(exp_results), " ") - - to_return += '</testsuites>' - return to_return - - -func write_file(gut, path): - var xml = get_results_xml(gut) - - var f_result = _utils.write_file(path, xml) - if(f_result != OK): - var msg = str("Error: ", f_result, ". Could not create export file ", path) - _utils.get_logger().error(msg) - - return f_result - |
