Fix facility discovery in exported builds and verify first construction
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Exercise the distributed PCK with no source-tree fallback or player saves."""
|
||||
import argparse
|
||||
import os
|
||||
from pathlib import Path
|
||||
import shutil
|
||||
import subprocess
|
||||
import tempfile
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description=__doc__)
|
||||
parser.add_argument("pack", type=Path)
|
||||
parser.add_argument("--godot", default="godot")
|
||||
parser.add_argument("--capture", type=Path)
|
||||
args = parser.parse_args()
|
||||
pack = args.pack.resolve(strict=True)
|
||||
godot = shutil.which(args.godot)
|
||||
if godot is None:
|
||||
parser.error(f"Godot executable not found: {args.godot}")
|
||||
script = Path(__file__).resolve().parents[1] / "tests/export/test_exported_opening.gd"
|
||||
env = dict(os.environ, THE_TREE_REQUIRE_EXPORTED="1")
|
||||
command = [godot]
|
||||
if args.capture:
|
||||
output = args.capture.resolve()
|
||||
output.parent.mkdir(parents=True, exist_ok=True)
|
||||
env.update(THE_TREE_EXPORT_CAPTURE="1", THE_TREE_EXPORT_CAPTURE_PATH=str(output))
|
||||
else:
|
||||
command.append("--headless")
|
||||
command.extend(["--main-pack", str(pack), "--script", str(script)])
|
||||
# Running inside the checkout masks missing packed resources: FileAccess
|
||||
# can read original .tres files from disk even when the PCK only has .remap.
|
||||
with tempfile.TemporaryDirectory(prefix="the-tree-export-check-") as isolated:
|
||||
result = subprocess.run(command, cwd=isolated, env=env, timeout=180)
|
||||
return result.returncode
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
raise SystemExit(main())
|
||||
Reference in New Issue
Block a user