Some checks failed
Windows project source guards / test (push) Has been cancelled
Общее ядро zapret_update (байт-в-байт копия из Zapret 2 GUI, переносится scripts/sync_update_core.py, тест сверяет сумму копии). Программа проверяет update-manifest.json и подпись ключами kvn-2026a и запасным и берёт сумму и размер архива только из списка. Сценарий выпуска подписывает архив, сверяет подпись с ключами программы этого коммита и выкладывает список вместе с остальными файлами выпуска. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
20 lines
859 B
Python
20 lines
859 B
Python
from __future__ import annotations
|
||
|
||
"""Копия общего ядра обновления не правилась в обход исходника в Zapret 2 GUI."""
|
||
|
||
import importlib.util
|
||
from pathlib import Path
|
||
|
||
ROOT = Path(__file__).resolve().parents[1]
|
||
|
||
|
||
def test_core_copy_matches_its_recorded_hash() -> None:
|
||
spec = importlib.util.spec_from_file_location("sync_update_core", ROOT / "scripts" / "sync_update_core.py")
|
||
module = importlib.util.module_from_spec(spec)
|
||
spec.loader.exec_module(module)
|
||
|
||
recorded = (module.TARGET / module.HASH_FILE).read_text(encoding="ascii").strip()
|
||
|
||
# Упал — копию правили здесь. Правьте ядро в Zapret 2 GUI и перенесите его
|
||
# сюда командой python3 scripts/sync_update_core.py.
|
||
assert recorded == module.core_hash(module.TARGET)
|