This needed rebase of patch 1 to cover for intermediate changes got a bit out of hand and resulted in this series: Patch 2 fixes a bug in set element sorting triggered by binop expression elements being treated equal in value if the LHS parts match. Patch 3 collates general bugs in recorded JSON equivalents for py testsuite. Patch 4 adds detection of needless recorded JSON outputs to nft-tests.py, patch 5 then performs the cleanup to eliminate the warnings it generates. Phil Sutter (5): json: Accept more than two operands in binary expressions mergesort: Avoid accidental set element reordering tests: py: Fix some JSON equivalents tests: py: Warn if recorded JSON output matches the input tests: py: Drop needless recorded JSON outputs doc/libnftables-json.adoc | 18 +- src/intervals.c | 2 +- src/json.c | 19 +- src/mergesort.c | 2 +- src/parser_json.c | 12 + tests/py/any/last.t.json.output | 7 - tests/py/any/meta.t.json | 2 +- tests/py/any/meta.t.json.output | 180 ---------- tests/py/any/tcpopt.t.json | 4 +- tests/py/inet/tcp.t.json | 189 ++++------ tests/py/inet/tcp.t.json.output | 339 +----------------- tests/py/ip/numgen.t.json.output | 30 -- tests/py/ip6/exthdr.t.json.output | 30 -- tests/py/nft-test.py | 2 + .../dumps/0012different_defines_0.json-nft | 8 +- .../sets/dumps/0055tcpflags_0.json-nft | 114 ++---- .../testcases/sets/dumps/0055tcpflags_0.nft | 8 +- 17 files changed, 166 insertions(+), 800 deletions(-) -- 2.43.0