summaryrefslogtreecommitdiffstats
path: root/tests/expr/immediate
diff options
context:
space:
mode:
Diffstat (limited to 'tests/expr/immediate')
-rw-r--r--tests/expr/immediate/bad-chain-verdict-data_err.t6
-rw-r--r--tests/expr/immediate/bad-chain_err.t5
-rw-r--r--tests/expr/immediate/bad-data_err.t5
-rw-r--r--tests/expr/immediate/bad-jump-other-table_err.t7
-rw-r--r--tests/expr/immediate/bad-reg_err.t5
-rw-r--r--tests/expr/immediate/chain_ok.t6
-rw-r--r--tests/expr/immediate/immediate-bad-verdict_err.t5
-rw-r--r--tests/expr/immediate/immediate_ok.t5
-rw-r--r--tests/expr/immediate/loop_err.t11
-rw-r--r--tests/expr/immediate/loop_self_err.t8
-rw-r--r--tests/expr/immediate/no-chain_err.t6
-rw-r--r--tests/expr/immediate/verdict-data_err.t6
12 files changed, 75 insertions, 0 deletions
diff --git a/tests/expr/immediate/bad-chain-verdict-data_err.t b/tests/expr/immediate/bad-chain-verdict-data_err.t
new file mode 100644
index 0000000..05ff55f
--- /dev/null
+++ b/tests/expr/immediate/bad-chain-verdict-data_err.t
@@ -0,0 +1,6 @@
+add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL);
+add_chain("test", "0x1", NULL, NULL, NULL);
+add_chain("test2", "0x2", NULL, NULL, NULL);
+add_rule("test", "0x1", NULL, NULL, NULL);
+immediate("NFT_REG_VERDICT", "NFT_JUMP", NULL, "badchain", "01020304");
+commit();
diff --git a/tests/expr/immediate/bad-chain_err.t b/tests/expr/immediate/bad-chain_err.t
new file mode 100644
index 0000000..76a23c3
--- /dev/null
+++ b/tests/expr/immediate/bad-chain_err.t
@@ -0,0 +1,5 @@
+add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL);
+add_chain("test", "0x1", NULL, NULL, NULL);
+add_rule("test", "0x1", NULL, NULL, NULL);
+immediate("NFT_REG_VERDICT", "NFT_JUMP", NULL, "badchain", NULL);
+commit();
diff --git a/tests/expr/immediate/bad-data_err.t b/tests/expr/immediate/bad-data_err.t
new file mode 100644
index 0000000..cc50872
--- /dev/null
+++ b/tests/expr/immediate/bad-data_err.t
@@ -0,0 +1,5 @@
+add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL);
+add_chain("test", "0x1", NULL, NULL, NULL);
+add_rule("test", "0x1", NULL, NULL, NULL);
+immediate("NFT_REG_VERDICT", "NFT_JUMP", NULL, NULL, "0bad");
+commit();
diff --git a/tests/expr/immediate/bad-jump-other-table_err.t b/tests/expr/immediate/bad-jump-other-table_err.t
new file mode 100644
index 0000000..67bef92
--- /dev/null
+++ b/tests/expr/immediate/bad-jump-other-table_err.t
@@ -0,0 +1,7 @@
+add_table(NFPROTO_IPV4, "test2", NULL, NULL, NULL);
+add_chain("test2", "0x2", NULL, NULL, NULL);
+add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL);
+add_chain("test1", "0x1", NULL, NULL, NULL);
+add_rule("test1", "0x1", NULL, NULL, NULL);
+immediate("NFT_REG_VERDICT", "NFT_JUMP", "0x2", "test2", NULL);
+commit();
diff --git a/tests/expr/immediate/bad-reg_err.t b/tests/expr/immediate/bad-reg_err.t
new file mode 100644
index 0000000..a005554
--- /dev/null
+++ b/tests/expr/immediate/bad-reg_err.t
@@ -0,0 +1,5 @@
+add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL);
+add_chain("test", "0x1", NULL, NULL, NULL);
+add_rule("test", "0x1", NULL, NULL, NULL);
+immediate("NFT_REG_1", "NF_ACCEPT", NULL, NULL, NULL);
+commit();
diff --git a/tests/expr/immediate/chain_ok.t b/tests/expr/immediate/chain_ok.t
new file mode 100644
index 0000000..b6897d3
--- /dev/null
+++ b/tests/expr/immediate/chain_ok.t
@@ -0,0 +1,6 @@
+add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL);
+add_chain("test", "0x1", NULL, NULL, NULL);
+add_chain("test2", "0x2", NULL, NULL, NULL);
+add_rule("test", "0x1", NULL, NULL, NULL);
+immediate("NFT_REG_VERDICT", "NFT_JUMP", NULL, "test2", NULL);
+commit();
diff --git a/tests/expr/immediate/immediate-bad-verdict_err.t b/tests/expr/immediate/immediate-bad-verdict_err.t
new file mode 100644
index 0000000..5f0b93b
--- /dev/null
+++ b/tests/expr/immediate/immediate-bad-verdict_err.t
@@ -0,0 +1,5 @@
+add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL);
+add_chain("test", "0x1", NULL, NULL, NULL);
+add_rule("test", "0x1", NULL, NULL, NULL);
+immediate("NFT_REG_VERDICT", "0xffff0000", NULL, NULL, NULL);
+commit();
diff --git a/tests/expr/immediate/immediate_ok.t b/tests/expr/immediate/immediate_ok.t
new file mode 100644
index 0000000..6662a69
--- /dev/null
+++ b/tests/expr/immediate/immediate_ok.t
@@ -0,0 +1,5 @@
+add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL);
+add_chain("test", "0x1", NULL, NULL, NULL);
+add_rule("test", "0x1", NULL, NULL, NULL);
+immediate("NFT_REG_VERDICT", "NF_ACCEPT", NULL, NULL, NULL);
+commit();
diff --git a/tests/expr/immediate/loop_err.t b/tests/expr/immediate/loop_err.t
new file mode 100644
index 0000000..23dd254
--- /dev/null
+++ b/tests/expr/immediate/loop_err.t
@@ -0,0 +1,11 @@
+add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL);
+add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, "10", "20", NULL, NULL);
+add_chain("test1", "0x1", NULL, NULL, NULL);
+add_chain("test2", "0x1", NULL, NULL, NULL);
+add_rule("test", "0x1", NULL, NULL, NULL);
+immediate("NFT_REG_VERDICT", "NFT_JUMP", NULL, "test1", NULL);
+add_rule("test1", "0x1", NULL, NULL, NULL);
+immediate("NFT_REG_VERDICT", "NFT_JUMP", NULL, "test2", NULL);
+add_rule("test2", "0x1", NULL, NULL, NULL);
+immediate("NFT_REG_VERDICT", "NFT_JUMP", NULL, "test1", NULL);
+commit();
diff --git a/tests/expr/immediate/loop_self_err.t b/tests/expr/immediate/loop_self_err.t
new file mode 100644
index 0000000..c984acf
--- /dev/null
+++ b/tests/expr/immediate/loop_self_err.t
@@ -0,0 +1,8 @@
+add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL);
+add_basechain("test", "filter", "0", "0", NULL, NULL, "NF_ACCEPT", NULL, NULL, "10", "20", NULL, NULL);
+add_rule("test", "0x1", NULL, NULL, NULL);
+immediate("NFT_REG_VERDICT", "NFT_JUMP", NULL, "test1", NULL);
+add_chain("test1", "0x1", NULL, NULL, NULL);
+add_rule("test1", "0x1", NULL, NULL, NULL);
+immediate("NFT_REG_VERDICT", "NFT_JUMP", NULL, "test1", NULL);
+commit();
diff --git a/tests/expr/immediate/no-chain_err.t b/tests/expr/immediate/no-chain_err.t
new file mode 100644
index 0000000..371dffe
--- /dev/null
+++ b/tests/expr/immediate/no-chain_err.t
@@ -0,0 +1,6 @@
+add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL);
+add_chain("test", "0x1", NULL, NULL, NULL);
+add_chain("test2", "0x2", NULL, NULL, NULL);
+add_rule("test", "0x1", NULL, NULL, NULL);
+immediate("NFT_REG_VERDICT", "NFT_JUMP", NULL, NULL, NULL);
+commit();
diff --git a/tests/expr/immediate/verdict-data_err.t b/tests/expr/immediate/verdict-data_err.t
new file mode 100644
index 0000000..197c304
--- /dev/null
+++ b/tests/expr/immediate/verdict-data_err.t
@@ -0,0 +1,6 @@
+add_table(NFPROTO_IPV4, "test", NULL, NULL, NULL);
+add_chain("test", "0x1", NULL, NULL, NULL);
+add_chain("test2", "0x2", NULL, NULL, NULL);
+add_rule("test", "0x1", NULL, NULL, NULL);
+immediate("NFT_REG_VERDICT", "NFT_JUMP", NULL, NULL, "01020304");
+commit();