On Fri, 2023-11-03 at 19:26 +0100, Thomas Haller wrote: > Generate and add ".json-nft" files. These files contain the output of > `nft -j list ruleset` after the test. Also, "test-wrapper.sh" will > compare the current ruleset against the ".json-nft" files and test > them > with "nft -j --check -f $FILE`. These are useful extra tests, that we > almost get for free. > > Note that for some JSON dumps, `nft -f --check` fails (or prints > something). For those tests no *.json-nft file is added. The bugs > needs > to be fixed first. > > An example of such an issue is: > > $ DUMPGEN=all ./tests/shell/run-tests.sh > tests/shell/testcases/maps/nat_addr_port > > which gives a file "rc-failed-chkdump" with > > Command `./tests/shell/../../src/nft -j --check -f > "tests/shell/testcases/maps/dumps/nat_addr_port.json-nft"` failed > >>>> > internal:0:0-0: Error: Invalid map type 'ipv4_addr . > inet_service'. > > internal:0:0-0: Error: Parsing command array at index 3 failed. > > internal:0:0-0: Error: unqualified type integer specified in map > definition. Try "typeof expression" instead of "type datatype". > > <<<< > > Tests like "tests/shell/testcases/nft-f/0012different_defines_0" and > "tests/shell/testcases/nft-f/0024priority_0" also don't get a .json- > nft > dump yet, because their output is not stable. That needs fixing too. > > Cc: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> > Cc: Florian Westphal <fw@xxxxxxxxx> > Signed-off-by: Thomas Haller <thaller@xxxxxxxxxx> > --- ... > tests/shell/testcases/sets/dumps/0062set_connlimit_0.json-nft | ... > tests/shell/testcases/sets/dumps/0062set_connlimit_0.json-nft > create mode 100644 "tests/shell/testcases/sets/dumps/0062set_connlimit_0.json-nft" need to be dropped from this patch. Otherwise, make && ./tests/shell/run-tests.sh tests/shell/testcases/sets/0062set_connlimit_0 -V fails (in valgrind mode). Thomas