mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-07-06 05:52:12 +08:00
compare_logs: better names for short/long diffs (#30263)
* better names * dont need that * those too old-commit-hash: def2b938950def9f4bd6e44d8f16a172983428a6
This commit is contained in:
@@ -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")
|
||||
|
||||
Reference in New Issue
Block a user