test(client): accelerate T-103 feedback loop

This commit is contained in:
QiuSW
2026-08-05 12:47:22 +08:00
parent 1bf3acda70
commit ae4b9ef08b
3 changed files with 64 additions and 24 deletions
@@ -2,7 +2,9 @@
from __future__ import annotations
from functools import lru_cache
from hashlib import sha256
from io import BytesIO
import json
from pathlib import Path
import sys
@@ -48,6 +50,16 @@ def _hash(path: Path) -> str:
return digest.hexdigest()
@lru_cache(maxsize=None)
def _source_png(size: tuple[int, int]) -> bytes:
image = Image.new("RGB", size, color=(0, 180, 0))
if size == (EXPECTED_SCREENSHOT_WIDTH, EXPECTED_SCREENSHOT_HEIGHT):
image.paste((255, 0, 0), (0, 0, 8, 540))
output = BytesIO()
image.save(output, format="PNG")
return output.getvalue()
def _default_xml() -> str:
return (
"<hierarchy rotation='0'>"
@@ -116,12 +128,7 @@ def _write_raw(
raw = root / "raw"
raw.mkdir(parents=True)
screenshot = raw / "screenshot.png"
image = Image.new("RGB", size, color=(0, 180, 0))
if size == (EXPECTED_SCREENSHOT_WIDTH, EXPECTED_SCREENSHOT_HEIGHT):
for y in range(540):
for x in range(8):
image.putpixel((x, y), (255, 0, 0))
image.save(screenshot, format="PNG")
screenshot.write_bytes(_source_png(size))
hierarchy = raw / "hierarchy.xml"
hierarchy.write_text(_default_xml() if xml is None else xml, encoding="utf-8")
manifest = {