compare_logs: better names for short/long diffs (#30263)

* better names

* dont need that

* those too
old-commit-hash: def2b93895
testing-closet
Justin Newberry 2 years ago committed by GitHub
parent f4365f014e
commit f2dcaf6f79
  1. 40
      selfdrive/test/process_replay/compare_logs.py
  2. 8
      selfdrive/test/process_replay/model_replay.py
  3. 6
      selfdrive/test/process_replay/test_processes.py

@ -91,42 +91,40 @@ def compare_logs(log1, log2, ignore_fields=None, ignore_msgs=None, tolerance=Non
def format_diff(results, log_paths, ref_commit):
diff1, diff2 = "", ""
diff2 += f"***** tested against commit {ref_commit} *****\n"
diff_short, diff_long = "", ""
diff_long += f"***** tested against commit {ref_commit} *****\n"
failed = False
for segment, result in list(results.items()):
diff1 += f"***** results for segment {segment} *****\n"
diff2 += f"***** differences for segment {segment} *****\n"
diff_short += f"***** results for segment {segment} *****\n"
diff_long += f"***** differences for segment {segment} *****\n"
for proc, diff in list(result.items()):
# long diff
diff2 += f"*** process: {proc} ***\n"
diff2 += f"\tref: {log_paths[segment][proc]['ref']}\n"
diff2 += f"\tnew: {log_paths[segment][proc]['new']}\n\n"
diff_long += f"*** process: {proc} ***\n"
diff_long += f"\tref: {log_paths[segment][proc]['ref']}\n"
diff_long += f"\tnew: {log_paths[segment][proc]['new']}\n\n"
# short diff
diff1 += f" {proc}\n"
diff_short += f" {proc}\n"
if isinstance(diff, str):
diff1 += f" ref: {log_paths[segment][proc]['ref']}\n"
diff1 += f" new: {log_paths[segment][proc]['new']}\n\n"
diff1 += f" {diff}\n"
diff_short += f" ref: {log_paths[segment][proc]['ref']}\n"
diff_short += f" new: {log_paths[segment][proc]['new']}\n\n"
diff_short += f" {diff}\n"
failed = True
elif len(diff):
diff1 += f" ref: {log_paths[segment][proc]['ref']}\n"
diff1 += f" new: {log_paths[segment][proc]['new']}\n\n"
diff_short += f" ref: {log_paths[segment][proc]['ref']}\n"
diff_short += f" new: {log_paths[segment][proc]['new']}\n\n"
cnt: Dict[str, int] = {}
for d in diff:
diff2 += f"\t{str(d)}\n"
diff_long += f"\t{str(d)}\n"
k = str(d[1])
cnt[k] = 1 if k not in cnt else cnt[k] + 1
for k, v in sorted(cnt.items()):
diff1 += f" {k}: {v}\n"
diff_short += f" {k}: {v}\n"
failed = True
return diff1, diff2, failed
return diff_short, diff_long, failed
if __name__ == "__main__":
@ -135,7 +133,7 @@ if __name__ == "__main__":
ignore_fields = sys.argv[3:] or ["logMonoTime", "controlsState.startMonoTime", "controlsState.cumLagMs"]
results = {"segment": {"proc": compare_logs(log1, log2, ignore_fields)}}
log_paths = {"segment": {"proc": {"ref": sys.argv[1], "new": sys.argv[2]}}}
diff1, diff2, failed = format_diff(results, log_paths, None)
diff_short, diff_long, failed = format_diff(results, log_paths, None)
print(diff2)
print(diff1)
print(diff_long)
print(diff_short)

@ -212,13 +212,13 @@ if __name__ == "__main__":
results: Any = {TEST_ROUTE: {}}
log_paths: Any = {TEST_ROUTE: {"models": {'ref': BASE_URL + log_fn, 'new': log_fn}}}
results[TEST_ROUTE]["models"] = compare_logs(cmp_log, log_msgs, tolerance=tolerance, ignore_fields=ignore)
diff1, diff2, failed = format_diff(results, log_paths, ref_commit)
diff_short, diff_long, failed = format_diff(results, log_paths, ref_commit)
print(diff2)
print(diff_long)
print('-------------\n'*5)
print(diff1)
print(diff_short)
with open("model_diff.txt", "w") as f:
f.write(diff2)
f.write(diff_long)
except Exception as e:
print(str(e))
failed = True

@ -207,11 +207,11 @@ if __name__ == "__main__":
if not args.upload_only:
results[segment][proc] = result
diff1, diff2, failed = format_diff(results, log_paths, ref_commit)
diff_short, diff_long, failed = format_diff(results, log_paths, ref_commit)
if not upload:
with open(os.path.join(PROC_REPLAY_DIR, "diff.txt"), "w") as f:
f.write(diff2)
print(diff1)
f.write(diff_long)
print(diff_short)
if failed:
print("TEST FAILED")

Loading…
Cancel
Save