From 075e4de85b96ad905c2113d580290963a7872e67 Mon Sep 17 00:00:00 2001 From: Phil Sutter Date: Tue, 28 Nov 2023 22:26:44 +0100 Subject: tests: iptables-test: Use difflib if dumps differ Improve log readability by printing a unified diff of the expected vs. actual iptables-save output. Signed-off-by: Phil Sutter --- iptables-test.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/iptables-test.py b/iptables-test.py index 6f63cdbe..179e366e 100755 --- a/iptables-test.py +++ b/iptables-test.py @@ -15,6 +15,7 @@ import sys import os import subprocess import argparse +from difflib import unified_diff IPTABLES = "iptables" IP6TABLES = "ip6tables" @@ -367,11 +368,12 @@ def run_test_file_fast(iptables, filename, netns): out = out.decode('utf-8').rstrip() if out.find(out_expect) < 0: - msg = ["dumps differ!"] - msg.extend(["expect: " + l for l in out_expect.split("\n")]) - msg.extend(["got: " + l for l in out.split("\n") - if not l[0] in ['*', ':', '#']]) - print("\n".join(msg), file=log_file) + print("dumps differ!", file=log_file) + out_clean = [ l for l in out.split("\n") + if not l[0] in ['*', ':', '#']] + diff = unified_diff(out_expect.split("\n"), out_clean, + fromfile="expect", tofile="got", lineterm='') + print("\n".join(diff), file=log_file) return -1 return tests -- cgit v1.2.3