Files
dreamer-game/tests/parse.gd
2026-09-16 13:08:59 +02:00

25 lines
796 B
GDScript

extends Node
## Parse-Vorlauf: lädt jedes Skript einmal und beendet sich mit Fehlercode.
## Ein Parse-Fehler in der Suite ließe Godot sonst bis zum Timeout hängen.
func _ready() -> void:
var fehler := 0
var anzahl := 0
for pfad in _skripte("res://scripts") + _skripte("res://tests"):
anzahl += 1
var s: Variant = load(pfad)
if s == null or not (s is GDScript) or not (s as GDScript).can_instantiate():
fehler += 1
print("PARSE FEHLER " + pfad)
print("Parse-Vorlauf: %d Skripte, %d Fehler" % [anzahl, fehler])
get_tree().quit(1 if fehler > 0 else 0)
func _skripte(ordner: String) -> Array:
var out: Array = []
for name in DirAccess.get_files_at(ordner):
if name.ends_with(".gd") and not name.begins_with("_"):
out.append(ordner + "/" + name)
out.sort()
return out