Skip to content

Commit 16bfb1d

Browse files
committed
Address review comments
1 parent 5708bc4 commit 16bfb1d

2 files changed

Lines changed: 13 additions & 8 deletions

File tree

controller/src/controller/scene.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,12 @@ def processSensorData(self, jdata, when):
339339
# in long-running scenarios. Consider: max size with FIFO eviction, time-based
340340
# cleanup, or periodic consolidation. Currently, unchanged values update timestamps
341341
# instead of appending, but frequent value changes can still cause unbounded growth.
342-
cur_value_float = float(cur_value)
342+
try:
343+
cur_value_float = float(cur_value)
344+
except (ValueError, TypeError):
345+
log.error("Invalid sensor value", sensor_id, cur_value)
346+
return False
347+
343348
for obj in objects_in_sensor:
344349
with obj.chain_data._lock:
345350
if sensor_id in obj.chain_data.env_sensor_state:

tests/sscape_tests/scenescape/test_detections_builder.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,13 @@
2626

2727
def _build_object(*, velocity=None, include_sensor_payload=True):
2828
chain_data = SimpleNamespace(
29-
regions=['region-a'],
29+
regions={'region-a': {'entered': '2026-03-31T10:00:00Z'}},
3030
_lock=Lock(),
3131
env_sensor_state={
32-
'temp-1': {'readings': [{'timestamp': '2026-03-31T10:00:00Z', 'value': 21.5}]}
32+
'temp-1': {'readings': [('2026-03-31T10:00:00Z', 21.5)]}
3333
},
3434
attr_sensor_events={
35-
'badge-1': [{'timestamp': '2026-03-31T10:00:00Z', 'event': 'authorized'}]
35+
'badge-1': [('2026-03-31T10:00:00Z', 'authorized')]
3636
},
3737
persist={'asset_tag': 'forklift-7'}
3838
)
@@ -94,9 +94,9 @@ def test_build_detections_list_serializes_metadata_sensors_and_visibility(self):
9494
assert detection['metadata']['age'] == 'adult'
9595
assert np.allclose(detection['metadata']['reid']['embedding_vector'], [0.1, 0.2])
9696
assert detection['metadata']['reid']['model_name'] == 'reid-model'
97-
assert detection['sensors']['temp-1']['values'][0]['value'] == 21.5
98-
assert detection['sensors']['badge-1']['values'][0]['event'] == 'authorized'
99-
assert detection['regions'] == ['region-a']
97+
assert detection['sensors']['temp-1']['values'][0][1] == 21.5
98+
assert detection['sensors']['badge-1']['values'][0][1] == 'authorized'
99+
assert detection['regions'] == {'region-a': {'entered': '2026-03-31T10:00:00Z'}}
100100
assert detection['camera_bounds'] == {'cam-1': {'x': 10, 'y': 20, 'width': 30, 'height': 40}}
101101
assert detection['persistent_data'] == {'asset_tag': 'forklift-7'}
102102
assert detection['first_seen'] == get_iso_time(obj.first_seen)
@@ -109,7 +109,7 @@ def test_build_detections_list_omits_sensor_data_when_disabled(self):
109109

110110
assert len(detections) == 1
111111
assert 'sensors' not in detections[0]
112-
assert detections[0]['regions'] == ['region-a']
112+
assert detections[0]['regions'] == {'region-a': {'entered': '2026-03-31T10:00:00Z'}}
113113

114114
def test_build_detections_list_does_not_leak_sensors_between_calls(self):
115115
obj = _build_object(velocity=Point(4.0, 5.0))

0 commit comments

Comments
 (0)