From 979ec4171e9eb45c7d6967b91c3c1fa0427e2afa Mon Sep 17 00:00:00 2001 From: Shane Smiskol Date: Wed, 13 Apr 2022 16:30:55 -0700 Subject: [PATCH] check if regenerated route is enabled --- selfdrive/test/process_replay/process_replay.py | 11 +++++++++++ selfdrive/test/process_replay/regen.py | 11 ++++++++--- selfdrive/test/process_replay/test_processes.py | 11 ++--------- 3 files changed, 21 insertions(+), 12 deletions(-) diff --git a/selfdrive/test/process_replay/process_replay.py b/selfdrive/test/process_replay/process_replay.py index 9a2a161562..8ae8a0f6aa 100755 --- a/selfdrive/test/process_replay/process_replay.py +++ b/selfdrive/test/process_replay/process_replay.py @@ -493,3 +493,14 @@ def cpp_replay_process(cfg, lr, fingerprint=None): managed_processes[cfg.proc_name].stop() return log_msgs + + +def check_enabled(msgs): + for msg in msgs: + if msg.which() == "carParams": + if msg.carParams.notCar: + return True + if msg.which() == "controlsState": + if msg.controlsState.active: + return True + return False diff --git a/selfdrive/test/process_replay/regen.py b/selfdrive/test/process_replay/regen.py index 475da14b2f..d1beabaaaf 100755 --- a/selfdrive/test/process_replay/regen.py +++ b/selfdrive/test/process_replay/regen.py @@ -16,7 +16,7 @@ from common.transformations.camera import eon_f_frame_size, eon_d_frame_size, ti from selfdrive.car.fingerprints import FW_VERSIONS from selfdrive.manager.process import ensure_running from selfdrive.manager.process_config import managed_processes -from selfdrive.test.process_replay.process_replay import setup_env +from selfdrive.test.process_replay.process_replay import setup_env, check_enabled from selfdrive.test.update_ci_routes import upload_route from tools.lib.route import Route from tools.lib.framereader import FrameReader @@ -242,8 +242,13 @@ def regen_segment(lr, frs=None, outdir=FAKEDATA): del vs - r = params.get("CurrentRoute", encoding='utf-8') - return os.path.join(outdir, r + "--0") + segment = params.get("CurrentRoute", encoding='utf-8') + "--0" + seg_path = os.path.join(outdir, segment, "rlog.bz2") + # check to make sure openpilot is engaged in the route + if not check_enabled(LogReader(seg_path)): + raise Exception(f"Route never enabled: {segment}") + + return seg_path def regen_and_save(route, sidx, upload=False, use_route_meta=False): diff --git a/selfdrive/test/process_replay/test_processes.py b/selfdrive/test/process_replay/test_processes.py index 409f2f1a85..d29183f1b5 100755 --- a/selfdrive/test/process_replay/test_processes.py +++ b/selfdrive/test/process_replay/test_processes.py @@ -7,7 +7,7 @@ from typing import Any from selfdrive.car.car_helpers import interface_names from selfdrive.test.openpilotci import get_url from selfdrive.test.process_replay.compare_logs import compare_logs -from selfdrive.test.process_replay.process_replay import CONFIGS, replay_process +from selfdrive.test.process_replay.process_replay import CONFIGS, replay_process, check_enabled from tools.lib.logreader import LogReader @@ -68,14 +68,7 @@ def test_process(cfg, lr, cmp_log_fn, ignore_fields=None, ignore_msgs=None): # check to make sure openpilot is engaged in the route if cfg.proc_name == "controlsd": - for msg in log_msgs: - if msg.which() == "carParams": - if msg.carParams.notCar: - break - if msg.which() == "controlsState": - if msg.controlsState.active: - break - else: + if not check_enabled(log_msgs): segment = cmp_log_fn.split("/")[-1].split("_")[0] raise Exception(f"Route never enabled: {segment}")