2019-12-30 13:09:18 +00:00
|
|
|
import hashlib
|
|
|
|
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-06 14:44:30 +00:00
|
|
|
fixture_root = Path().cwd() / "../tests/ui_tests/fixtures/"
|
2019-12-30 13:09:18 +00:00
|
|
|
|
2020-01-06 14:44:30 +00:00
|
|
|
for recorded_dir in fixture_root.glob("*/recorded"):
|
|
|
|
expected_hash = (recorded_dir.parent / "hash.txt").read_text()
|
|
|
|
actual_hash = _hash_files(recorded_dir)
|
|
|
|
assert expected_hash == actual_hash
|
2020-01-06 14:59:12 +00:00
|
|
|
shutil.make_archive("ui_test_records/" + actual_hash, "zip", recorded_dir)
|