Private
Public Access
20 lines
792 B
Python
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)
|