Contain all data under ./data/<env> with startup enforcement

This commit is contained in:
2026-10-05 14:46:36 +02:00
parent 4268b1ec9e
commit 44d0c08698
12 changed files with 156 additions and 28 deletions
+6 -6
View File
@@ -4,13 +4,13 @@ import os
import shutil
import subprocess
import sys
import tempfile
import time
import tomllib
from datetime import datetime, timezone
from pathlib import Path
REPO_ROOT = Path(__file__).resolve().parent
TEST_DATA_DIR = REPO_ROOT / "data" / "test"
OUTPUT_DIR = Path(os.environ.get("SCREENSHOTS_DIR", str(REPO_ROOT.parent / "static" / "pizdetz")))
ENV = os.environ.get("SCREENSHOTS_ENV", "test")
BASE_URL = os.environ.get("SCREENSHOTS_BASE_URL", "").rstrip("/")
@@ -437,15 +437,17 @@ def main():
base = LOCAL_BASE if boot else BASE_URL
password = BOOT_ADMIN_PASSWORD if boot else ADMIN_PASSWORD
out_dir = OUTPUT_DIR / ENV
data_dir = None
process = None
log = None
records = []
failures = []
try:
if boot:
data_dir = Path(tempfile.mkdtemp(prefix="molodetz-shots-"))
process, log = start_server(data_dir)
if REPO_ROOT / "data" not in TEST_DATA_DIR.parents:
raise RuntimeError(f"refusing test data outside {REPO_ROOT / 'data'}")
shutil.rmtree(TEST_DATA_DIR, ignore_errors=True)
TEST_DATA_DIR.mkdir(parents=True, exist_ok=True)
process, log = start_server(TEST_DATA_DIR)
seed_join(base)
else:
wait_live(base)
@@ -464,8 +466,6 @@ def main():
finally:
if process is not None:
stop_server(process, log)
if data_dir is not None:
shutil.rmtree(data_dir, ignore_errors=True)
print(f"wrote {len(records)} screenshots for {ENV} to {out_dir}, hub covers {', '.join(present)}")
for failure in failures:
print(f"OVERFLOW {failure}")