summaryrefslogtreecommitdiff
path: root/addons/gut/junit_xml_export.gd
diff options
context:
space:
mode:
authorSophia Pearson <codergal89@gmail.com>2022-10-03 22:22:50 +0200
committerSophia Pearson <codergal89@gmail.com>2022-10-04 22:18:18 +0200
commite127ad39e742396030352240d829bc903b1d4464 (patch)
tree10cc21d70bf13181aef7c8ad0344077ff63579a3 /addons/gut/junit_xml_export.gd
parentddbb045f6387a8ba23b1210b27a745516a387a52 (diff)
downloadtexty-e127ad39e742396030352240d829bc903b1d4464.tar.xz
texty-e127ad39e742396030352240d829bc903b1d4464.zip
godot: inital Godot 4 migration
Diffstat (limited to 'addons/gut/junit_xml_export.gd')
-rw-r--r--addons/gut/junit_xml_export.gd94
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
-