def run_test_process(data): segment, cfg, args, cur_log_fn, ref_log_path, lr_dat = data res = None if not args.upload_only: lr = LogReader.from_bytes(lr_dat) res, log_msgs = test_process(cfg, lr, ref_log_path, args.ignore_fields, args.ignore_msgs) # save logs so we can upload when updating refs save_log(cur_log_fn, log_msgs) if args.update_refs or args.upload_only: print(f'Uploading: {os.path.basename(cur_log_fn)}') assert os.path.exists(cur_log_fn), f"Cannot find log to upload: {cur_log_fn}" upload_file(cur_log_fn, os.path.basename(cur_log_fn)) os.remove(cur_log_fn) return (segment, cfg.proc_name, res)
] results: Any = {TEST_ROUTE: {}} results[TEST_ROUTE]["modeld"] = compare_logs(cmp_log, log_msgs, ignore_fields=ignore) diff1, diff2, failed = format_diff(results, ref_commit) print(diff1) with open("model_diff.txt", "w") as f: f.write(diff2) if update or failed: from selfdrive.test.openpilotci import upload_file print("Uploading new refs") new_commit = get_git_commit() log_fn = "%s_%s_%s.bz2" % (TEST_ROUTE, "model", new_commit) save_log(log_fn, log_msgs) try: upload_file(log_fn, os.path.basename(log_fn)) except Exception as e: print("failed to upload", e) with open(ref_commit_fn, 'w') as f: f.write(str(new_commit)) print("\n\nNew ref commit: ", new_commit) sys.exit(int(failed))
f.write(diff) except Exception as e: print(str(e)) failed = True # upload new refs if update or (failed and TICI): from selfdrive.test.openpilotci import upload_file print("Uploading new refs") frames_bzip = bzip_frames(frames) new_commit = get_commit() frame_fn = os.path.join(replay_dir, get_frame_fn(new_commit, TEST_ROUTE, tici=TICI)) with open(frame_fn, "wb") as f2: f2.write(frames_bzip) try: upload_file(frame_fn, os.path.basename(frame_fn)) except Exception as e: print("failed to upload", e) if update: with open(ref_commit_fn, 'w') as f: f.write(str(new_commit)) print("\nNew ref commit: ", new_commit) sys.exit(int(failed))
ref_commit = get_git_commit() if ref_commit is None: raise Exception("couldn't get ref commit") with open(ref_commit_fn, "w") as f: f.write(ref_commit) for car_brand, segment in segments: rlog_fn = get_segment(segment, original=True) if rlog_fn is None: print("failed to get segment %s" % segment) sys.exit(1) lr = LogReader(rlog_fn) print('injecting model into % s' % segment) lr = inject_model(lr, segment) route_name, segment_num = segment.rsplit("--", 1) log_fn = "%s/%s/rlog_%s.bz2" % (route_name.replace( "|", "/"), segment_num, ref_commit) tmp_name = 'tmp_%s_%s' % (route_name, segment_num) save_log(tmp_name, lr) if not no_upload: upload_file(tmp_name, log_fn) print('uploaded %s', log_fn) os.remove(tmp_name) os.remove(rlog_fn) print("done")