1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-28 09:08:07 +00:00
trezor-firmware/ci/prepare_ui_artifacts.py

32 lines
1.0 KiB
Python
Raw Normal View History

2022-03-31 17:16:59 +00:00
import os
2019-12-30 13:09:18 +00:00
import shutil
import sys
2019-12-30 13:09:18 +00:00
from pathlib import Path
ROOT = Path(__file__).resolve().parent.parent
sys.path.insert(0, str(ROOT))
# Needed for setup purposes, filling the FILE_HASHES dict
from tests.ui_tests import read_fixtures # isort:skip
2019-12-30 13:09:18 +00:00
read_fixtures()
from tests.ui_tests import _hash_files, FILE_HASHES, SCREENS_DIR # isort:skip
2019-12-30 13:09:18 +00:00
# As in CI we are running T1 and TT tests separately, there will
# always be the other model missing.
# Therefore, choosing just the cases for our model.
if len(sys.argv) > 1 and sys.argv[1].upper() == "T1":
model = "T1"
else:
model = "TT"
2022-03-31 17:16:59 +00:00
if os.getenv("UI2") == "1":
model += "ui2"
model_file_hashes = {k: v for k, v in FILE_HASHES.items() if k.startswith(f"{model}_")}
2019-12-30 13:09:18 +00:00
for test_case, expected_hash in model_file_hashes.items():
recorded_dir = SCREENS_DIR / test_case / "recorded"
2020-01-06 14:44:30 +00:00
actual_hash = _hash_files(recorded_dir)
assert expected_hash == actual_hash
shutil.make_archive(
str(ROOT / "ci/ui_test_records" / actual_hash), "zip", recorded_dir
)