1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-16 03:18:09 +00:00
trezor-firmware/ci/prepare_ui_artifacts.py

28 lines
688 B
Python
Raw Normal View History

2019-12-30 13:09:18 +00:00
import hashlib
2020-01-31 13:35:21 +00:00
import json
2019-12-30 13:09:18 +00:00
import shutil
from pathlib import Path
2020-01-06 14:44:30 +00:00
def _hash_files(path):
files = path.iterdir()
2019-12-30 13:09:18 +00:00
hasher = hashlib.sha256()
for file in sorted(files):
2020-01-06 14:44:30 +00:00
hasher.update(file.read_bytes())
2019-12-30 13:09:18 +00:00
return hasher.digest().hex()
2020-01-31 13:35:21 +00:00
root = Path().cwd() / "../tests/ui_tests"
screens = root / "screens"
fixtures = root / "fixtures.json"
2019-12-30 13:09:18 +00:00
2020-01-31 13:35:21 +00:00
hashes = json.loads(fixtures.read_text())
for test_case in hashes.keys():
recorded_dir = screens / test_case / "recorded"
expected_hash = hashes[test_case]
2020-01-06 14:44:30 +00:00
actual_hash = _hash_files(recorded_dir)
assert expected_hash == actual_hash
shutil.make_archive("ui_test_records/" + actual_hash, "zip", recorded_dir)