diff options
author | Álvaro Neira Ayuso <alvaroneay@gmail.com> | 2013-07-31 15:21:27 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2013-07-31 16:46:34 +0200 |
commit | 2a99ca448411afe1a9f34293e8395f719c7803c9 (patch) | |
tree | 651caea22d0411ce9ccfd8fcec6ea3543b5b8aa8 | |
parent | 6670f8f3645fc3d271094a493880e7f06961f674 (diff) |
tests: chain: add json parsing support
Test the functions for parsing chains in JSON.
Signed-off-by: Alvaro Neira Ayuso <alvaroneay@gmail.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r-- | tests/jsonfiles/11-chain.json | 1 | ||||
-rw-r--r-- | tests/jsonfiles/12-chain.json | 1 | ||||
-rw-r--r-- | tests/jsonfiles/13-chain.json | 1 | ||||
-rw-r--r-- | tests/jsonfiles/14-chain.json | 1 | ||||
-rw-r--r-- | tests/nft-parsing-test.c | 9 |
5 files changed, 13 insertions, 0 deletions
diff --git a/tests/jsonfiles/11-chain.json b/tests/jsonfiles/11-chain.json new file mode 100644 index 0000000..0e71e8f --- /dev/null +++ b/tests/jsonfiles/11-chain.json @@ -0,0 +1 @@ +{ "chain": {"name": "input","handle": 1,"bytes": 1375696,"packets": 4136,"family": "ip","table": "filter","use": 0,"type": "filter","hooknum": "NF_INET_LOCAL_IN","prio": 0,"policy": "accept"}} diff --git a/tests/jsonfiles/12-chain.json b/tests/jsonfiles/12-chain.json new file mode 100644 index 0000000..e841032 --- /dev/null +++ b/tests/jsonfiles/12-chain.json @@ -0,0 +1 @@ +{ "chain": {"name": "forward","handle": 2,"bytes": 0,"packets": 0,"family": "ip","table": "filter","use": 0,"type": "filter","hooknum": "NF_INET_FORWARD","prio": 0,"policy": "accept"}} diff --git a/tests/jsonfiles/13-chain.json b/tests/jsonfiles/13-chain.json new file mode 100644 index 0000000..9967233 --- /dev/null +++ b/tests/jsonfiles/13-chain.json @@ -0,0 +1 @@ +{ "chain": {"name": "output","handle": 3,"bytes": 454786,"packets": 2681,"family": "ip","table": "filter","use": 0,"type": "filter","hooknum": "NF_INET_LOCAL_OUT","prio": 0,"policy": "accept"}} diff --git a/tests/jsonfiles/14-chain.json b/tests/jsonfiles/14-chain.json new file mode 100644 index 0000000..716d022 --- /dev/null +++ b/tests/jsonfiles/14-chain.json @@ -0,0 +1 @@ +{ "chain": {"name": "chain1","handle": 4,"bytes": 0,"packets": 0,"family": "ip","table": "filter","use": 0}} diff --git a/tests/nft-parsing-test.c b/tests/nft-parsing-test.c index 0734f07..e111fd0 100644 --- a/tests/nft-parsing-test.c +++ b/tests/nft-parsing-test.c @@ -24,6 +24,7 @@ static int test_json(const char *filename) #ifdef JSON_PARSING int ret = -1; struct nft_table *t = NULL; + struct nft_chain *c = NULL; json_t *root; json_error_t error; char *json = NULL; @@ -47,6 +48,14 @@ static int test_json(const char *filename) nft_table_free(t); } + } else if (json_object_get(root, "chain") != NULL) { + c = nft_chain_alloc(); + if (c != NULL) { + if (nft_chain_parse(c, NFT_CHAIN_PARSE_JSON, json) == 0) + ret = 0; + + nft_chain_free(c); + } } return ret; |