39 lines
1.3 KiB
GDScript
39 lines
1.3 KiB
GDScript
extends SceneTree
|
|
|
|
const MainScene = preload("res://main.tscn")
|
|
|
|
var failures: Array[String] = []
|
|
|
|
|
|
func _initialize() -> void:
|
|
call_deferred("run_test")
|
|
|
|
|
|
func run_test() -> void:
|
|
var game := MainScene.instantiate()
|
|
root.add_child(game)
|
|
for frame in range(40):
|
|
await process_frame
|
|
var shell = game.get_node_or_null("EntryShell")
|
|
expect(shell != null, "main scene creates the DEV-1 entry shell")
|
|
expect(not game.facade.visible, "historical gameplay facade stays preserved and hidden")
|
|
if shell != null:
|
|
expect(String(shell.boot_snapshot.get("state", "")) == "complete", "real entry reaches a completed verification")
|
|
expect(shell.get_node("EntrySafeArea/BootLayout/BootStatus").text == "First-launch setup", "completed Boot hands off toward first-launch setup")
|
|
expect(not shell.get_node("EntrySafeArea/BootLayout/BootRetry").visible, "Retry is hidden after success")
|
|
game.queue_free()
|
|
for frame in range(20):
|
|
await process_frame
|
|
if failures.is_empty():
|
|
print("ABG_DEV1_BOOT_RUNTIME_OK entry_shell=true facade_hidden=true boot_complete=true handoff=first_launch")
|
|
quit(0)
|
|
else:
|
|
for failure in failures:
|
|
push_error(failure)
|
|
quit(1)
|
|
|
|
|
|
func expect(condition: bool, message: String) -> void:
|
|
if not condition:
|
|
failures.append("DEV-1 Boot runtime: %s" % message)
|