summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorÁlvaro Neira Ayuso <alvaroneay@gmail.com>2013-07-31 15:21:27 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2013-07-31 16:46:34 +0200
commit2a99ca448411afe1a9f34293e8395f719c7803c9 (patch)
tree651caea22d0411ce9ccfd8fcec6ea3543b5b8aa8
parent6670f8f3645fc3d271094a493880e7f06961f674 (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.json1
-rw-r--r--tests/jsonfiles/12-chain.json1
-rw-r--r--tests/jsonfiles/13-chain.json1
-rw-r--r--tests/jsonfiles/14-chain.json1
-rw-r--r--tests/nft-parsing-test.c9
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;