diff mbox series

[2/2] tests: shell: json parsing prefix inside concat

Message ID 20200220171242.15240-2-eric@garver.life
State Changes Requested
Delegated to: Pablo Neira
Headers show
Series [1/2] parser_json: fix parsing prefix inside concat | expand

Commit Message

Eric Garver Feb. 20, 2020, 5:12 p.m. UTC
Signed-off-by: Eric Garver <eric@garver.life>
---

# ./run-tests.sh ./testcases/sets/0044json_prefix_in_concat_0
I: using nft binary ./../../src/nft

I: [OK]         ./testcases/sets/0044json_prefix_in_concat_0

I: results: [OK] 1 [FAILED] 0 [TOTAL] 1


# NFT=/usr/sbin/nft ./run-tests.sh ./testcases/sets/0044json_prefix_in_concat_0
I: using nft binary /usr/sbin/nft

W: [FAILED]     ./testcases/sets/0044json_prefix_in_concat_0: got 
internal:0:0-0: Error: Expression type prefix not allowed in context (RHS, PRIMARY).

internal:0:0-0: Error: Parsing expr at index 0 failed.

internal:0:0-0: Error: Invalid set elem at index 0.

internal:0:0-0: Error: Invalid set.

internal:0:0-0: Error: Parsing command array at index 3 failed.

I: results: [OK] 0 [FAILED] 1 [TOTAL] 1

---
 .../shell/testcases/sets/0044json_prefix_in_concat_0  | 11 +++++++++++
 1 file changed, 11 insertions(+)
 create mode 100755 tests/shell/testcases/sets/0044json_prefix_in_concat_0
diff mbox series

Patch

diff --git a/tests/shell/testcases/sets/0044json_prefix_in_concat_0 b/tests/shell/testcases/sets/0044json_prefix_in_concat_0
new file mode 100755
index 000000000000..9bc48caa136f
--- /dev/null
+++ b/tests/shell/testcases/sets/0044json_prefix_in_concat_0
@@ -0,0 +1,11 @@ 
+#!/bin/bash
+
+# JSON parsing "prefix" inside "concat" for a set element
+
+RULESET='{"nftables": [{"metainfo": {"json_schema_version": 1}},
+         {"add": {"table": {"family": "inet", "name": "foobar_table"}}},
+         {"add": {"set": {"family": "inet", "name": "foobar_set", "table": "foobar_table", "type": ["ipv4_addr", "inet_proto", "inet_service"]}}},
+         {"add": {"element": {"elem": [{"concat": [{"prefix": {"addr": "10.10.10.0", "len": 24}}, "sctp", "1234"]}], "family": "inet", "name": "foobar_set", "table": "foobar_table"}}}]}'
+
+set -e
+$NFT -j -f - <<< "$RULESET"