Files
Halloween/tests/test_camera.py
T
2026-10-16 01:38:10 +02:00

20 lines
792 B
Python

"""Measured producer rate without camera hardware or wall-clock sleeps."""
import unittest
from unittest.mock import patch
from halloween.camera import CameraStream
class CameraRateTest(unittest.TestCase):
def test_measured_rate_and_stale_frames(self):
camera = CameraStream()
with patch('halloween.camera.time.monotonic') as clock:
clock.return_value = 10.
self.assertEqual(camera.status()['fps'], 0)
for i in range(60):
clock.return_value = 10+i/15
camera._publish(b'test')
self.assertEqual(camera.status()['fps'], 15.)
clock.return_value += 2
self.assertEqual(camera.status()['fps'], 0)
self.assertEqual(CameraStream(demo=True).status()['target_fps'], 5)