Coverage for tests/io/conftest.py: 94%
35 statements
« prev ^ index » next coverage.py v7.15.1, created at 2026-07-15 09:33 +0000
« prev ^ index » next coverage.py v7.15.1, created at 2026-07-15 09:33 +0000
1import os
3import pytest
5# ``test_events`` and ``real_event_files`` live in the repo-root conftest.py so
6# they are shared with the benchmarks; only io-test-specific fixtures live here.
9from typing import Any, Callable
11@pytest.fixture
12def dummy_file_factory(tmp_path: Any) -> Callable[[str], str]:
13 # Create a temporary dummy (non-event) file.
14 def _filefactory(name: str) -> str:
15 test_file_path = os.path.join(tmp_path, name)
16 with open(test_file_path, 'w') as f:
17 f.write('This is a dummy test file.')
18 return test_file_path
20 return _filefactory
23@pytest.fixture(scope='session')
24def event_files(tmp_path_factory: Any, test_events: Any) -> dict[str, Any]:
25 event_file_paths: dict[str, Any] = {}
27 temp_dir = tmp_path_factory.mktemp("data")
28 event_file_paths['csv'] = temp_dir / "events.csv"
29 event_file_paths['csv_noheader'] = temp_dir / "events_noheader.csv"
30 event_file_paths['csv_shuffled_columns'] = temp_dir / "events_noheader_xypt.csv"
31 event_file_paths['evt2'] = temp_dir / "events_evt2.raw"
32 event_file_paths['evt21'] = temp_dir / "events_evt21.raw"
33 event_file_paths['evt3'] = temp_dir / "events_evt3.raw"
34 event_file_paths['hdf5'] = temp_dir / "events.h5"
35 event_file_paths['dat'] = temp_dir / "events.dat"
36 event_file_paths['npz'] = temp_dir / "events.npz"
37 event_file_paths['bin'] = temp_dir / "events.bin"
38 event_file_paths['txt'] = temp_dir / "events.txt"
40 try:
41 from evutils.io import EventWriter
42 with EventWriter(event_file_paths['csv']) as writer:
43 writer.write(test_events)
44 except ImportError:
45 pass
47 with EventWriter(event_file_paths['evt3'], format="EVT3") as writer:
48 writer.write(test_events)
50 return event_file_paths