diff options
author | Thomas Haller <thaller@redhat.com> | 2023-11-14 17:08:28 +0100 |
---|---|---|
committer | Florian Westphal <fw@strlen.de> | 2023-11-15 13:12:06 +0100 |
commit | 3d24b16b9ac132d26869953f54ef7c69f1c1d58f (patch) | |
tree | c9432f7716f192c913b1aefc353bd7f220340376 /tests/shell/testcases/chains/dumps/0001jumps_0.json-nft | |
parent | c9caa99c52752907509584b7165ad6180764d87d (diff) |
tests/shell: add JSON dump files
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@netfilter.org>
Cc: Florian Westphal <fw@strlen.de>
Signed-off-by: Thomas Haller <thaller@redhat.com>
Signed-off-by: Florian Westphal <fw@strlen.de>
Diffstat (limited to 'tests/shell/testcases/chains/dumps/0001jumps_0.json-nft')
-rw-r--r-- | tests/shell/testcases/chains/dumps/0001jumps_0.json-nft | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/tests/shell/testcases/chains/dumps/0001jumps_0.json-nft b/tests/shell/testcases/chains/dumps/0001jumps_0.json-nft new file mode 100644 index 00000000..d33c84fd --- /dev/null +++ b/tests/shell/testcases/chains/dumps/0001jumps_0.json-nft @@ -0,0 +1 @@ +{"nftables": [{"metainfo": {"version": "VERSION", "release_name": "RELEASE_NAME", "json_schema_version": 1}}, {"table": {"family": "ip", "name": "t", "handle": 1}}, {"chain": {"family": "ip", "table": "t", "name": "c1", "handle": 1}}, {"chain": {"family": "ip", "table": "t", "name": "c2", "handle": 2}}, {"chain": {"family": "ip", "table": "t", "name": "c3", "handle": 3}}, {"chain": {"family": "ip", "table": "t", "name": "c4", "handle": 4}}, {"chain": {"family": "ip", "table": "t", "name": "c5", "handle": 5}}, {"chain": {"family": "ip", "table": "t", "name": "c6", "handle": 6}}, {"chain": {"family": "ip", "table": "t", "name": "c7", "handle": 7}}, {"chain": {"family": "ip", "table": "t", "name": "c8", "handle": 8}}, {"chain": {"family": "ip", "table": "t", "name": "c9", "handle": 9}}, {"chain": {"family": "ip", "table": "t", "name": "c10", "handle": 10}}, {"chain": {"family": "ip", "table": "t", "name": "c11", "handle": 11}}, {"chain": {"family": "ip", "table": "t", "name": "c12", "handle": 12}}, {"chain": {"family": "ip", "table": "t", "name": "c13", "handle": 13}}, {"chain": {"family": "ip", "table": "t", "name": "c14", "handle": 14}}, {"chain": {"family": "ip", "table": "t", "name": "c15", "handle": 15}}, {"chain": {"family": "ip", "table": "t", "name": "c16", "handle": 16}}, {"rule": {"family": "ip", "table": "t", "chain": "c1", "handle": 17, "expr": [{"jump": {"target": "c2"}}]}}, {"rule": {"family": "ip", "table": "t", "chain": "c2", "handle": 18, "expr": [{"jump": {"target": "c3"}}]}}, {"rule": {"family": "ip", "table": "t", "chain": "c3", "handle": 19, "expr": [{"jump": {"target": "c4"}}]}}, {"rule": {"family": "ip", "table": "t", "chain": "c4", "handle": 20, "expr": [{"jump": {"target": "c5"}}]}}, {"rule": {"family": "ip", "table": "t", "chain": "c5", "handle": 21, "expr": [{"jump": {"target": "c6"}}]}}, {"rule": {"family": "ip", "table": "t", "chain": "c6", "handle": 22, "expr": [{"jump": {"target": "c7"}}]}}, {"rule": {"family": "ip", "table": "t", "chain": "c7", "handle": 23, "expr": [{"jump": {"target": "c8"}}]}}, {"rule": {"family": "ip", "table": "t", "chain": "c8", "handle": 24, "expr": [{"jump": {"target": "c9"}}]}}, {"rule": {"family": "ip", "table": "t", "chain": "c9", "handle": 25, "expr": [{"jump": {"target": "c10"}}]}}, {"rule": {"family": "ip", "table": "t", "chain": "c10", "handle": 26, "expr": [{"jump": {"target": "c11"}}]}}, {"rule": {"family": "ip", "table": "t", "chain": "c11", "handle": 27, "expr": [{"jump": {"target": "c12"}}]}}, {"rule": {"family": "ip", "table": "t", "chain": "c12", "handle": 28, "expr": [{"jump": {"target": "c13"}}]}}, {"rule": {"family": "ip", "table": "t", "chain": "c13", "handle": 29, "expr": [{"jump": {"target": "c14"}}]}}, {"rule": {"family": "ip", "table": "t", "chain": "c14", "handle": 30, "expr": [{"jump": {"target": "c15"}}]}}, {"rule": {"family": "ip", "table": "t", "chain": "c15", "handle": 31, "expr": [{"jump": {"target": "c16"}}]}}]} |