Replace the broken test suite with working GdUnit4 tests

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/
This commit is contained in:
Sansan committed 2026-10-05 19:33:41 +02:00
1 parent 87ff3d899b
commit 91adf52cf4
559 files changed
+32474 -2100

No files matched your search

+25
View File
@@ -0,0 +1,25 @@
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)