You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
1.2 KiB
31 lines
1.2 KiB
extends Reference
|
|
|
|
func save(results, time: float = 0.0) -> void:
|
|
if not ProjectSettings.has_setting("WAT/Results_Directory"):
|
|
return
|
|
var path = ProjectSettings.get_setting("WAT/Results_Directory")
|
|
if not Directory.new().dir_exists(path):
|
|
Directory.new().make_dir_recursive(path)
|
|
var tests: int = results.size()
|
|
var failures: int = 0
|
|
for i in results:
|
|
if not i.success:
|
|
failures += 1
|
|
var output: String = ""
|
|
output += '<?xml version="1.0" ?>'
|
|
output += '\n<testsuites failures="%s" name="TestXML" tests="%s" time="%s">' % [failures, tests, time]
|
|
for result in results:
|
|
output += '\n<testsuite failures="%s" name="%s" tests="%s" time="%s">' % [result.total - result.passed, result.context, result.total, result.time_taken]
|
|
for case in result.methods:
|
|
output += '\n<testcase name="%s" time="%s">' % [case.context, case.time]
|
|
for assertion in case.assertions:
|
|
if not assertion.success:
|
|
output += '\n<failure message="EXPECTED: %s but GOT %s"></failure>' % [assertion.expected, assertion.actual]
|
|
output += '\n</testcase>'
|
|
output += "\n</testsuite>"
|
|
output += '\n</testsuites>'
|
|
var XML = File.new()
|
|
XML.open("%s/results.xml" % path, File.WRITE)
|
|
XML.store_string(output)
|
|
XML.close()
|