update
This commit is contained in:
24
tests/parse.gd
Normal file
24
tests/parse.gd
Normal file
@@ -0,0 +1,24 @@
|
||||
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
|
||||
Reference in New Issue
Block a user