8e389c03f8
Реализовать двухпанельный Commander от платформенного PoC до этапов P6-P20: EMM-каталог, сортировку и выбор, операции с файлами и деревьями, транзакционное копирование, метаданные, политику конфликтов и предварительную проверку свободного места. Добавить проектную документацию, HDD/MAME-сценарии и проверенные артефакты. Расширить libc операцией bank_write_page, исправлением режима O_RDONLY и связанными регрессионными проверками.
33 lines
1.0 KiB
Python
Executable File
33 lines
1.0 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
"""Проверка файлов, созданных дочерней программой P4CHILD."""
|
|
|
|
from __future__ import annotations
|
|
|
|
import pathlib
|
|
import sys
|
|
|
|
|
|
def main() -> None:
|
|
if len(sys.argv) != 2:
|
|
raise SystemExit(f"usage: {sys.argv[0]} EXTRACTED_ROOT")
|
|
root = pathlib.Path(sys.argv[1])
|
|
expected = {
|
|
root / "EXECLEFT" / "CREATED.TXT": b"created by P4CHILD\n",
|
|
root / "EXECRGHT" / "PASSIVE.TXT": b"passive refresh by P4CHILD\n",
|
|
}
|
|
failures = []
|
|
for path, content in expected.items():
|
|
if not path.is_file():
|
|
failures.append(f"нет {path.relative_to(root)}")
|
|
elif path.read_bytes() != content:
|
|
failures.append(f"неверное содержимое {path.relative_to(root)}")
|
|
if failures:
|
|
for failure in failures:
|
|
print(f"FAIL: {failure}")
|
|
raise SystemExit(1)
|
|
print("PASS: child создал active/passive markers с ожидаемым содержимым.")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|