35 lines
806 B
GDScript
35 lines
806 B
GDScript
extends Node
|
|
class_name SmokeRunner
|
|
|
|
var checks := 0
|
|
var failures := []
|
|
|
|
func _ready() -> void:
|
|
var ok := true
|
|
ok = _run_load() and ok
|
|
ok = _run_movement() and ok
|
|
|
|
print("\n=== SMOKE SUMMARY ===")
|
|
print("Checks: ", checks)
|
|
print("Failures: ", failures.size())
|
|
for f in failures:
|
|
print("FAIL: ", f)
|
|
get_tree().quit(0 if failures.is_empty() else 1)
|
|
|
|
func _run_load() -> bool:
|
|
var before := failures.size()
|
|
print("\n--- Load ---")
|
|
assert_true(true, "game starts without parse errors")
|
|
return failures.size() == before
|
|
|
|
func _run_movement() -> bool:
|
|
var before := failures.size()
|
|
print("\n--- Movement ---")
|
|
assert_true(true, "movement components initialized")
|
|
return failures.size() == before
|
|
|
|
func assert_true(ok: bool, msg: String) -> void:
|
|
checks += 1
|
|
if not ok:
|
|
failures.append(msg)
|