The previous tests never compiled: they used GUT's assert functions, Godot 3 APIs and reassigned autoload functions, so no test ran. - 90 tests: unit tests for the playlist, songs, player scoring, time formatting, search and the server client, plus integration tests that run MainWindow and SyncWindow against a fake server - Keybind tests check that Alt+<number> and Ctrl+Alt+<number> keep following the player rows while players are added and removed - run_tests.sh finds Godot and runs the suite headless (~10 seconds) - CI runs the tests before the build job in gitea-build.yaml; the separate test.yml used a GitHub action that does not exist - GdUnit4 is committed instead of ignored, since the project enables it, and .gitea/ is no longer ignored - Exported builds leave out tests/ and addons/gdUnit4/
26 lines
589 B
GDScript
26 lines
589 B
GDScript
class_name GdUnitTask
|
|
extends RefCounted
|
|
|
|
const TASK_NAME = "task_name"
|
|
const TASK_ARGS = "task_args"
|
|
|
|
var _task_name :String
|
|
var _fref :Callable
|
|
|
|
|
|
func _init(task_name :String,instance :Object,func_name :String) -> void:
|
|
_task_name = task_name
|
|
if not instance.has_method(func_name):
|
|
push_error("Can't create GdUnitTask, Invalid func name '%s' for instance '%s'" % [instance, func_name])
|
|
_fref = Callable(instance, func_name)
|
|
|
|
|
|
func name() -> String:
|
|
return _task_name
|
|
|
|
|
|
func execute(args :Array) -> GdUnitResult:
|
|
if args.is_empty():
|
|
return _fref.call()
|
|
return _fref.callv(args)
|