From d3a3c73b0ce2719313d74c25567a07fac17e31a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kacper=20R=C4=85czy?= Date: Thu, 8 Jun 2023 01:23:40 +0200 Subject: [PATCH] process_replay: progress bar support (#28447) * Add support for tqdm progress bar * Fix argument name old-commit-hash: a2e75fdea6465bf41edd46875fb7dd241155aca8 --- selfdrive/test/process_replay/process_replay.py | 9 +++++---- selfdrive/test/process_replay/test_processes.py | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/selfdrive/test/process_replay/process_replay.py b/selfdrive/test/process_replay/process_replay.py index 5871488fe6..9261aee838 100755 --- a/selfdrive/test/process_replay/process_replay.py +++ b/selfdrive/test/process_replay/process_replay.py @@ -6,6 +6,7 @@ import platform from collections import OrderedDict from dataclasses import dataclass, field from typing import Dict, List, Optional, Callable +from tqdm import tqdm import cereal.messaging as messaging from cereal import car @@ -340,9 +341,9 @@ def replay_process_with_name(name, lr, *args, **kwargs): return replay_process(cfg, lr, *args, **kwargs) -def replay_process(cfg, lr, fingerprint=None, return_all_logs=False): +def replay_process(cfg, lr, fingerprint=None, return_all_logs=False, disable_progress=False): all_msgs = list(lr) - process_logs = _replay_single_process(cfg, all_msgs, fingerprint) + process_logs = _replay_single_process(cfg, all_msgs, fingerprint, disable_progress) if return_all_logs: keys = set(cfg.subs) @@ -356,7 +357,7 @@ def replay_process(cfg, lr, fingerprint=None, return_all_logs=False): return log_msgs -def _replay_single_process(cfg, lr, fingerprint): +def _replay_single_process(cfg, lr, fingerprint, disable_progress): with OpenpilotPrefix(): controlsState = None initialized = False @@ -404,7 +405,7 @@ def _replay_single_process(cfg, lr, fingerprint): # Do the replay cnt = 0 - for msg in pub_msgs: + for msg in tqdm(pub_msgs, disable=disable_progress): with Timeout(cfg.timeout, error_msg=f"timed out testing process {repr(cfg.proc_name)}, {cnt}/{len(pub_msgs)} msgs done"): resp_sockets, end_of_cycle = cfg.subs, True if cfg.should_recv_callback is not None: diff --git a/selfdrive/test/process_replay/test_processes.py b/selfdrive/test/process_replay/test_processes.py index 02922c530d..6962e51cb5 100755 --- a/selfdrive/test/process_replay/test_processes.py +++ b/selfdrive/test/process_replay/test_processes.py @@ -99,7 +99,7 @@ def test_process(cfg, lr, segment, ref_log_path, new_log_path, ignore_fields=Non ref_log_msgs = list(LogReader(ref_log_path)) try: - log_msgs = replay_process(cfg, lr) + log_msgs = replay_process(cfg, lr, disable_progress=True) except Exception as e: raise Exception("failed on segment: " + segment) from e