@@ -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)
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 <fw@strlen.de> --- tests/py/nft-test.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-)