openpilot is an open source driver assistance system. openpilot performs the functions of Automated Lane Centering and Adaptive Cruise Control for over 200 supported car makes and models.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 lines
2.0 KiB

5 years ago
#!/usr/bin/env python3
3 years ago
import argparse
5 years ago
import os
3 years ago
import sys
5 years ago
from selfdrive.test.openpilotci import upload_file, get_url
5 years ago
from selfdrive.test.process_replay.compare_logs import save_log
from selfdrive.test.process_replay.process_replay import replay_process, CONFIGS
from selfdrive.test.process_replay.test_processes import segments
from selfdrive.version import get_commit
5 years ago
from tools.lib.logreader import LogReader
if __name__ == "__main__":
3 years ago
parser = argparse.ArgumentParser(description="Updates the reference logs for the current commit")
5 years ago
3 years ago
parser.add_argument("--no-upload", action="store_true")
parser.add_argument("--only-upload", action="store_true") # TODO: split this out into own file upload_refs?
args = parser.parse_args()
assert args.no_upload != args.only_upload or not args.no_upload, "Both upload args can't be set"
5 years ago
process_replay_dir = os.path.dirname(os.path.abspath(__file__))
ref_commit_fn = os.path.join(process_replay_dir, "ref_commit")
ref_commit = get_commit()
if ref_commit is None:
raise Exception("couldn't get ref commit")
5 years ago
with open(ref_commit_fn, "w") as f:
f.write(ref_commit)
3 years ago
print('listing dir at: {}'.format(process_replay_dir))
print(os.listdir(process_replay_dir))
sys.exit(1)
5 years ago
for car_brand, segment in segments:
3 years ago
if args.only_upload:
for cfg in CONFIGS:
log_fn = os.path.join(process_replay_dir, f"{segment}_{cfg.proc_name}_{ref_commit}.bz2")
if not os.path.exists(log_fn):
raise Exception("couldn't find file for uploading: {}".format(log_fn))
upload_file(log_fn, os.path.basename(log_fn))
os.remove(log_fn)
continue
r, n = segment.rsplit("--", 1)
lr = LogReader(get_url(r, n))
5 years ago
for cfg in CONFIGS:
log_msgs = replay_process(cfg, lr)
log_fn = os.path.join(process_replay_dir, f"{segment}_{cfg.proc_name}_{ref_commit}.bz2")
5 years ago
save_log(log_fn, log_msgs)
3 years ago
if not args.no_upload:
5 years ago
upload_file(log_fn, os.path.basename(log_fn))
os.remove(log_fn)
print("Updated reference logs for commit: {}".format(ref_commit))