PC3: checkpoint runner starts a dedicated server for the network-client smoke
smoke_test_network_client.gd needs a separate `godot scenes/server.tscn` process on ENet 7777; the runner never started one, so that test has been failing in every checkpoint run (the only failure in an otherwise-green suite). Start it just for that test, tear it down after. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015jtxAiu5dAW4WxCNdGkrkJ
This commit is contained in:
@@ -133,9 +133,28 @@ def main():
|
||||
for test in smoke_tests:
|
||||
rel = os.path.relpath(test, ROOT)
|
||||
print(f"\n--- {rel} ---")
|
||||
r = run([godot_bin, "--headless", "--path", str(ROOT), "--script", f"res://{rel}"], env=godot_env)
|
||||
if r.returncode != 0:
|
||||
godot_ok = False
|
||||
# smoke_test_network_client.gd needs a separate dedicated
|
||||
# server process listening on ENet 7777 -- stand one up
|
||||
# just for that test and tear it down after.
|
||||
game_server = None
|
||||
if os.path.basename(rel) == "smoke_test_network_client.gd":
|
||||
print("(starting scenes/server.tscn for the network client test)")
|
||||
game_server = subprocess.Popen(
|
||||
[godot_bin, "--headless", "--path", str(ROOT), "res://scenes/server.tscn"],
|
||||
env=godot_env,
|
||||
)
|
||||
time.sleep(3)
|
||||
try:
|
||||
r = run([godot_bin, "--headless", "--path", str(ROOT), "--script", f"res://{rel}"], env=godot_env)
|
||||
if r.returncode != 0:
|
||||
godot_ok = False
|
||||
finally:
|
||||
if game_server is not None:
|
||||
game_server.terminate()
|
||||
try:
|
||||
game_server.wait(timeout=10)
|
||||
except subprocess.TimeoutExpired:
|
||||
game_server.kill()
|
||||
results["godot smoke tests"] = godot_ok
|
||||
finally:
|
||||
server_proc.terminate()
|
||||
|
||||
Reference in New Issue
Block a user