Skip to content

Commit 25ab973

Browse files
committed
Add Basler timestamp metadata edge-case tests
Extend Basler backend tests to cover `_make_timestamp_metadata` behavior when the SDK timestamp is zero and when tick frequency is missing or invalid. The new cases assert that zero ticks return `None` and invalid frequencies fall back to reporting raw tick values.
1 parent ee85179 commit 25ab973

1 file changed

Lines changed: 45 additions & 0 deletions

File tree

‎tests/cameras/backends/test_basler_backend.py‎

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -554,3 +554,48 @@ def test_read_returns_captured_frame_with_hardware_timestamp_metadata(
554554
assert frame_dict["raw_value"] == 123456789
555555

556556
be.close()
557+
558+
@pytest.mark.unit
559+
def test_make_timestamp_metadata_returns_none_for_zero_ticks(
560+
self,
561+
patched_basler_sdk,
562+
basler_settings_factory,
563+
):
564+
bb = patched_basler_sdk
565+
backend = bb.BaslerCameraBackend(basler_settings_factory())
566+
567+
class GrabResult:
568+
@staticmethod
569+
def GetTimeStamp():
570+
return 0
571+
572+
metadata = backend._make_timestamp_metadata(GrabResult())
573+
574+
assert metadata is None
575+
576+
import pytest
577+
578+
@pytest.mark.parametrize("frequency", [None, 0.0, -1.0])
579+
def test_make_timestamp_metadata_uses_raw_ticks_for_invalid_frequency(
580+
self,
581+
patched_basler_sdk,
582+
basler_settings_factory,
583+
frequency,
584+
):
585+
bb = patched_basler_sdk
586+
backend = bb.BaslerCameraBackend(basler_settings_factory())
587+
backend._timestamp_tick_frequency_hz = frequency
588+
backend._timestamp_tick_frequency_source = None
589+
590+
class GrabResult:
591+
@staticmethod
592+
def GetTimeStamp():
593+
return 12_345
594+
595+
metadata = backend._make_timestamp_metadata(GrabResult())
596+
597+
assert metadata is not None
598+
assert metadata.default_reported == "raw_value"
599+
assert metadata.seconds is None
600+
assert metadata.raw_value == 12_345
601+
assert metadata.tick_frequency_hz == frequency

0 commit comments

Comments
 (0)