|
|
|
@ -154,35 +154,35 @@ class TestLoggerd(unittest.TestCase): |
|
|
|
|
vipc_server.create_buffers_with_sizes(stream_type, 40, False, *(frame_spec)) |
|
|
|
|
vipc_server.start_listener() |
|
|
|
|
|
|
|
|
|
for _ in range(5): |
|
|
|
|
num_segs = random.randint(2, 5) |
|
|
|
|
length = random.randint(1, 3) |
|
|
|
|
os.environ["LOGGERD_SEGMENT_LENGTH"] = str(length) |
|
|
|
|
managed_processes["loggerd"].start() |
|
|
|
|
managed_processes["encoderd"].start() |
|
|
|
|
time.sleep(1) |
|
|
|
|
|
|
|
|
|
fps = 20.0 |
|
|
|
|
for n in range(1, int(num_segs*length*fps)+1): |
|
|
|
|
for stream_type, frame_spec, state in streams: |
|
|
|
|
dat = np.empty(frame_spec[2], dtype=np.uint8) |
|
|
|
|
vipc_server.send(stream_type, dat[:].flatten().tobytes(), n, n/fps, n/fps) |
|
|
|
|
|
|
|
|
|
camera_state = messaging.new_message(state) |
|
|
|
|
frame = getattr(camera_state, state) |
|
|
|
|
frame.frameId = n |
|
|
|
|
pm.send(state, camera_state) |
|
|
|
|
time.sleep(1.0/fps) |
|
|
|
|
|
|
|
|
|
managed_processes["loggerd"].stop() |
|
|
|
|
managed_processes["encoderd"].stop() |
|
|
|
|
|
|
|
|
|
route_path = str(self._get_latest_log_dir()).rsplit("--", 1)[0] |
|
|
|
|
for n in range(num_segs): |
|
|
|
|
p = Path(f"{route_path}--{n}") |
|
|
|
|
logged = {f.name for f in p.iterdir() if f.is_file()} |
|
|
|
|
diff = logged ^ expected_files |
|
|
|
|
self.assertEqual(len(diff), 0, f"didn't get all expected files. run={_} seg={n} {route_path=}, {diff=}\n{logged=} {expected_files=}") |
|
|
|
|
num_segs = random.randint(2, 5) |
|
|
|
|
length = random.randint(1, 3) |
|
|
|
|
os.environ["LOGGERD_SEGMENT_LENGTH"] = str(length) |
|
|
|
|
managed_processes["loggerd"].start() |
|
|
|
|
managed_processes["encoderd"].start() |
|
|
|
|
time.sleep(1) |
|
|
|
|
|
|
|
|
|
fps = 20.0 |
|
|
|
|
for n in range(1, int(num_segs*length*fps)+1): |
|
|
|
|
time_start = time.monotonic() |
|
|
|
|
for stream_type, frame_spec, state in streams: |
|
|
|
|
dat = np.empty(frame_spec[2], dtype=np.uint8) |
|
|
|
|
vipc_server.send(stream_type, dat[:].flatten().tobytes(), n, n/fps, n/fps) |
|
|
|
|
|
|
|
|
|
camera_state = messaging.new_message(state) |
|
|
|
|
frame = getattr(camera_state, state) |
|
|
|
|
frame.frameId = n |
|
|
|
|
pm.send(state, camera_state) |
|
|
|
|
time.sleep(max((1.0/fps) - (time.monotonic() - time_start), 0)) |
|
|
|
|
|
|
|
|
|
managed_processes["loggerd"].stop() |
|
|
|
|
managed_processes["encoderd"].stop() |
|
|
|
|
|
|
|
|
|
route_path = str(self._get_latest_log_dir()).rsplit("--", 1)[0] |
|
|
|
|
for n in range(num_segs): |
|
|
|
|
p = Path(f"{route_path}--{n}") |
|
|
|
|
logged = {f.name for f in p.iterdir() if f.is_file()} |
|
|
|
|
diff = logged ^ expected_files |
|
|
|
|
self.assertEqual(len(diff), 0, f"didn't get all expected files. run={_} seg={n} {route_path=}, {diff=}\n{logged=} {expected_files=}") |
|
|
|
|
|
|
|
|
|
def test_bootlog(self): |
|
|
|
|
# generate bootlog with fake launch log |
|
|
|
|