Headless test runner that delegates to GdUnitTestCIRunner for CI integration. Exit code 0 = all pass, non-zero = failures per D-030. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
31 lines
885 B
GDScript
31 lines
885 B
GDScript
#!/usr/bin/env -S godot -s
|
|
## gdUnit4 CI runner for the Settled Reach client.
|
|
##
|
|
## Run all client tests headlessly:
|
|
## godot --headless --path client/ \
|
|
## -s res://tests/run_gdunit4.gd \
|
|
## -- --ignoreHeadlessMode -a res://tests/
|
|
##
|
|
## Run a specific test file:
|
|
## godot --headless --path client/ \
|
|
## -s res://tests/run_gdunit4.gd \
|
|
## -- --ignoreHeadlessMode -a res://tests/test_protocol.gd
|
|
##
|
|
## Exit code: 0 = all pass, non-zero = failures.
|
|
##
|
|
## D-030 (architecture.md): gdUnit4 is the confirmed Godot test framework.
|
|
## Test output format: JSON summary per D-030 sub-decision #6.
|
|
extends SceneTree
|
|
|
|
var _cli_runner: GdUnitTestCIRunner
|
|
|
|
|
|
func _initialize() -> void:
|
|
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_MINIMIZED)
|
|
_cli_runner = GdUnitTestCIRunner.new()
|
|
root.add_child(_cli_runner)
|
|
|
|
|
|
func _finalize() -> void:
|
|
queue_delete(_cli_runner)
|