From: Florian Westphal Date: Tue, 8 Apr 2025 14:21:29 +0000 (+0200) Subject: tests/py: prepare for set debug change X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7cec20e45a7549d82b7eac8eac6c8a31458fe291;p=thirdparty%2Fnftables.git tests/py: prepare for set debug change Next patch will make initial set dump from kernel emit set debug information, so the obtained netlink debug file won't match what is recorded in tests/py. Furthermore, as the python add rules for each of the family the test is for, subsequent dump will include debug information of the other/previous families. Change the script to skip all unrelated information to only compare the relevant set element information and the generated expressions. This change still finds changes in [ expr ... ] and set elem debug output. Signed-off-by: Florian Westphal --- diff --git a/tests/py/nft-test.py b/tests/py/nft-test.py index 7acdb77f..ea70f19b 100755 --- a/tests/py/nft-test.py +++ b/tests/py/nft-test.py @@ -717,17 +717,20 @@ def payload_check(payload_buffer, file, cmd): return False for lineno, want_line in enumerate(payload_buffer): + # skip irreleant parts, such as "ip test-ipv4 output" + if want_line.find("[") < 0 or want_line.find("]") < 0: + continue + line = file.readline() + while line.find("[") < 0 or line.find("]") < 0: + line = file.readline() + if line == "": + break if want_line == line: i += 1 continue - if want_line.find('[') < 0 and line.find('[') < 0: - continue - if want_line.find(']') < 0 and line.find(']') < 0: - continue - if payload_check_set_elems(want_line, line): continue @@ -877,6 +880,8 @@ def rule_add(rule, filename, lineno, force_all_family_option, filename_path): gotf.write("# %s\n" % rule[0]) while True: line = payload_log.readline() + if line.startswith("family "): + continue if line == "": break gotf.write(line)