Remove dataset replay
This commit is contained in:
@@ -28,9 +28,9 @@ from python_app.hardware_full.librevna_driver.transport.usb import USBTransport
|
||||
from python_app.hardware_full.switch_drivers.h7992_driver import H7992Driver
|
||||
from python_app.hardware_full.switched_matrix_radar_service import SwitchedMatrixRadarService
|
||||
from python_app.models.run_config_schema import RadarSweepModel, RunConfigModel
|
||||
from python_app.models.dataset_model import ComboKey, SweepCollection, TraceData
|
||||
from python_app.models.dataset_model import SweepCollection
|
||||
from python_app.orchestration.shm.decoder import RAW_MAGIC, decode_trace_collection
|
||||
from python_app.scripts import kamil_adc_raw_producer, matrix_raw_producer, replay_raw_producer, producer_common
|
||||
from python_app.scripts import kamil_adc_raw_producer, matrix_raw_producer, producer_common
|
||||
from python_app.workflows.radar_config_variants import scan_radar_config_variants
|
||||
|
||||
|
||||
@@ -297,42 +297,16 @@ class TtyLifecycleTest(unittest.TestCase):
|
||||
|
||||
|
||||
class ProducerCleanupTest(unittest.TestCase):
|
||||
def test_replay_rejects_small_slots_before_publishing_any_data(self) -> None:
|
||||
module = replay_raw_producer
|
||||
config = RunConfigModel()
|
||||
config.radar.replay.dataset_dir = "/test/data"
|
||||
config.rings.raw.slot_size_bytes = 1
|
||||
config.rings.raw_tap.name = "/test_raw_tap"
|
||||
trace = TraceData(
|
||||
ComboKey(0, 0), np.array([1, 2], dtype=np.float32),
|
||||
np.array([1, 2], dtype=np.complex64),
|
||||
)
|
||||
dataset = module.ReplayDataset([[trace]], [20])
|
||||
raw, tap = Mock(), Mock()
|
||||
with patch.object(producer_common.RunConfigModel, "load_from_path", return_value=config), patch.object(producer_common.signal, "signal"), patch.object(module, "_load_dataset", return_value=dataset), patch.object(producer_common, "ShmRingWriter", side_effect=[raw, tap]), patch("sys.argv", [module.__name__, "--config", "/test/config.json"]):
|
||||
with self.assertRaisesRegex(ValueError, "Replay requires .* bytes per slot"):
|
||||
module.main()
|
||||
raw.push.assert_not_called()
|
||||
tap.push.assert_not_called()
|
||||
raw.close.assert_called_once()
|
||||
tap.close.assert_called_once()
|
||||
|
||||
def test_partial_ring_initialization_closes_first_writer(self) -> None:
|
||||
for module, model in ((matrix_raw_producer, "librevna_multi"), (kamil_adc_raw_producer, "kamil_adc"), (replay_raw_producer, "librevna")):
|
||||
for module, model in ((matrix_raw_producer, "librevna_multi"), (kamil_adc_raw_producer, "kamil_adc")):
|
||||
with self.subTest(producer=module.__name__):
|
||||
config = RunConfigModel()
|
||||
config.radar.model = model
|
||||
config.radar.replay.dataset_dir = "/test/data"
|
||||
config.rings.raw_tap.name = "/test_raw_tap"
|
||||
writer = Mock()
|
||||
with patch.object(producer_common.RunConfigModel, "load_from_path", return_value=config), patch.object(producer_common.signal, "signal"), patch.object(producer_common, "ShmRingWriter", side_effect=[writer, OSError("second ring failed")]), patch("sys.argv", [module.__name__, "--config", "/test/config.json"]):
|
||||
if module is replay_raw_producer:
|
||||
with patch.object(module, "_load_dataset", return_value=Mock(median_gap_ns=1, __len__=Mock(return_value=1))):
|
||||
with self.assertRaisesRegex(OSError, "second ring failed"):
|
||||
module.main()
|
||||
else:
|
||||
with self.assertRaisesRegex(OSError, "second ring failed"):
|
||||
module.main()
|
||||
with patch.object(producer_common.RunConfigModel, "load_from_path", return_value=config), patch.object(producer_common, "validate_acquisition_config"), patch.object(producer_common.signal, "signal"), patch.object(producer_common, "ShmRingWriter", side_effect=[writer, OSError("second ring failed")]), patch("sys.argv", [module.__name__, "--config", "/test/config.json"]):
|
||||
with self.assertRaisesRegex(OSError, "second ring failed"):
|
||||
module.main()
|
||||
writer.close.assert_called_once()
|
||||
|
||||
def test_disabled_tap_opens_and_publishes_only_the_required_raw_ring(self) -> None:
|
||||
|
||||
Reference in New Issue
Block a user