setting up GDUnit
Some checks failed
Create tag and build when new code gets to main / Export (push) Failing after 3m40s
Some checks failed
Create tag and build when new code gets to main / Export (push) Failing after 3m40s
This commit is contained in:
112
addons/gdUnit4/src/reporters/GdUnitTestReporter.gd
Normal file
112
addons/gdUnit4/src/reporters/GdUnitTestReporter.gd
Normal file
@@ -0,0 +1,112 @@
|
||||
class_name GdUnitTestReporter
|
||||
extends RefCounted
|
||||
|
||||
|
||||
var _statistics := {}
|
||||
var _summary := {}
|
||||
|
||||
|
||||
func init_summary() -> void:
|
||||
_summary["suite_count"] = 0
|
||||
_summary["total_count"] = 0
|
||||
_summary["error_count"] = 0
|
||||
_summary["failed_count"] = 0
|
||||
_summary["skipped_count"] = 0
|
||||
_summary["flaky_count"] = 0
|
||||
_summary["orphan_nodes"] = 0
|
||||
_summary["elapsed_time"] = 0
|
||||
|
||||
|
||||
func init_statistics() -> void:
|
||||
_statistics.clear()
|
||||
|
||||
|
||||
func add_test_statistics(event: GdUnitEvent) -> void:
|
||||
_statistics[event.guid()] = {
|
||||
"error_count" : event.error_count(),
|
||||
"failed_count" : event.failed_count(),
|
||||
"skipped_count" : event.skipped_count(),
|
||||
"flaky_count" : event.is_flaky() as int,
|
||||
"orphan_nodes" : event.orphan_nodes()
|
||||
}
|
||||
|
||||
|
||||
func build_test_suite_statisitcs(event: GdUnitEvent) -> Dictionary:
|
||||
var statistic := {
|
||||
"total_count" : _statistics.size(),
|
||||
"error_count" : event.error_count(),
|
||||
"failed_count" : event.failed_count(),
|
||||
"skipped_count" : event.skipped_count(),
|
||||
"flaky_count" : 0,
|
||||
"orphan_nodes" : event.orphan_nodes()
|
||||
}
|
||||
_summary["suite_count"] += 1
|
||||
_summary["total_count"] += _statistics.size()
|
||||
_summary["error_count"] += event.error_count()
|
||||
_summary["failed_count"] += event.failed_count()
|
||||
_summary["skipped_count"] += event.skipped_count()
|
||||
_summary["orphan_nodes"] += event.orphan_nodes()
|
||||
_summary["elapsed_time"] += event.elapsed_time()
|
||||
|
||||
for key: String in ["error_count", "failed_count", "skipped_count", "flaky_count", "orphan_nodes"]:
|
||||
var value: int = _statistics.values().reduce(get_value.bind(key), 0 )
|
||||
statistic[key] += value
|
||||
_summary[key] += value
|
||||
|
||||
return statistic
|
||||
|
||||
|
||||
func get_value(acc: int, value: Dictionary, key: String) -> int:
|
||||
return acc + value[key]
|
||||
|
||||
|
||||
func processed_suite_count() -> int:
|
||||
return _summary["suite_count"]
|
||||
|
||||
|
||||
func total_test_count() -> int:
|
||||
return _summary["total_count"]
|
||||
|
||||
|
||||
func total_flaky_count() -> int:
|
||||
return _summary["flaky_count"]
|
||||
|
||||
|
||||
func total_error_count() -> int:
|
||||
return _summary["error_count"]
|
||||
|
||||
|
||||
func total_failure_count() -> int:
|
||||
return _summary["failed_count"]
|
||||
|
||||
|
||||
func total_skipped_count() -> int:
|
||||
return _summary["skipped_count"]
|
||||
|
||||
|
||||
func total_orphan_count() -> int:
|
||||
return _summary["orphan_nodes"]
|
||||
|
||||
|
||||
func elapsed_time() -> int:
|
||||
return _summary["elapsed_time"]
|
||||
|
||||
|
||||
func error_count(statistics: Dictionary) -> int:
|
||||
return statistics["error_count"]
|
||||
|
||||
|
||||
func failed_count(statistics: Dictionary) -> int:
|
||||
return statistics["failed_count"]
|
||||
|
||||
|
||||
func orphan_nodes(statistics: Dictionary) -> int:
|
||||
return statistics["orphan_nodes"]
|
||||
|
||||
|
||||
func skipped_count(statistics: Dictionary) -> int:
|
||||
return statistics["skipped_count"]
|
||||
|
||||
|
||||
func flaky_count(statistics: Dictionary) -> int:
|
||||
return statistics["flaky_count"]
|
||||
Reference in New Issue
Block a user