From 7ab558a7894ecf85b8ec73e986080986825310c9 Mon Sep 17 00:00:00 2001 From: Shane Smiskol Date: Fri, 14 Mar 2025 16:09:23 -0700 Subject: [PATCH] run_process_on_route: support multiple processes (#34867) support multiple procs --- selfdrive/debug/run_process_on_route.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/selfdrive/debug/run_process_on_route.py b/selfdrive/debug/run_process_on_route.py index 45665e8a48..2ccb0fb3e7 100755 --- a/selfdrive/debug/run_process_on_route.py +++ b/selfdrive/debug/run_process_on_route.py @@ -10,21 +10,21 @@ if __name__ == "__main__": formatter_class=argparse.ArgumentDefaultsHelpFormatter) parser.add_argument("--fingerprint", help="The fingerprint to use") parser.add_argument("route", help="The route name to use") - parser.add_argument("process", help="The process to run") + parser.add_argument("process", nargs='+', help="The process(s) to run") args = parser.parse_args() - cfg = [c for c in CONFIGS if c.proc_name == args.process][0] + cfgs = [c for c in CONFIGS if c.proc_name in args.process] lr = LogReader(args.route) inputs = list(lr) - outputs = replay_process(cfg, inputs, fingerprint=args.fingerprint) + outputs = replay_process(cfgs, inputs, fingerprint=args.fingerprint) # Remove message generated by the process under test and merge in the new messages produces = {o.which() for o in outputs} inputs = [i for i in inputs if i.which() not in produces] outputs = sorted(inputs + outputs, key=lambda x: x.logMonoTime) - fn = f"{args.route.replace('/', '_')}_{args.process}.zst" + fn = f"{args.route.replace('/', '_')}_{'_'.join(args.process)}.zst" print(f"Saving log to {fn}") save_log(fn, outputs)