from __future__ import annotations import json import tempfile from pathlib import Path import pytest @pytest.fixture def tmp_dir(tmp_path): """Temporary directory for test files.""" return tmp_path @pytest.fixture def session_file(tmp_path): """Empty session file path in temp dir.""" return tmp_path / "session.json" @pytest.fixture def session_data(): """Sample session data.""" return { "_schema_version": 1, "__tab_list__": [{"key": "dut_1", "label": "DUT 1"}], "dut_1": { "dut_port": "COM3", "dut_baud": 1500000, "app_path": "/path/to/app.bin", "app_start_addr": "0x08040000", "app_end_addr": "0x08440000", }, } @pytest.fixture def corrupt_session_file(tmp_path): """Session file with invalid JSON.""" p = tmp_path / "session.json" p.write_text("{invalid json!!!", encoding="utf-8") return p