tests: files: Remove test files.
cover tests: files: Remove test files.
This patch removes tests from tests/files and add tests to tests/shell which are not present in it.
Varsha Rao (16):
tests: files: Remove tests for ipv4
tests: files: Remove tests for ipv6
tests: shell: Add test for log statement.
tests: files: Remove log statement tests.
tests: shell: Add test for log flags.
tests: shell: Add tests for payload expression.
tests: files: Remove payload expression tests.
tests: files: Remove test for syntactical errors.
tests: shell: Add test for ct expression.
tests: files: Remove test for ct expression.
tests: files: Remove prefix file.
tests: files: Test for meta expressions.
tests: files: Remove test for meta expression.
tests: shell: Add tests for concat expression.
tests: files: Remove tests for concat expression.
tests: shell: Add test case for map expression.
tests/files/error.1 | 9 ----- tests/files/error.2 | 18 ---------- tests/files/expr-concat | 19 ---------- tests/files/expr-ct | 26 -------------- tests/files/expr-meta | 40 --------------------- tests/files/family-ipv4 | 14 -------- tests/files/family-ipv6 | 13 ------- tests/files/feat-adjancent-load-merging | 13 ------- tests/files/prefix | 5 --- tests/files/stmt-log | 6 ---- tests/shell/testcases/maps/different_map_types_1 | 10 ++++++ tests/shell/testcases/optionals/log_0 | 22 ++++++++++++ tests/shell/testcases/optionals/log_flags_0 | 29 ++++++++++++++++ tests/shell/testcases/transactions/0024rule_0 | 44 ++++++++++++++++++++++++ tests/shell/testcases/transactions/0025rule_0 | 36 +++++++++++++++++++ tests/shell/testcases/transactions/0026rule_0 | 44 ++++++++++++++++++++++++ tests/shell/testcases/transactions/0050concat_1 | 26 ++++++++++++++ 17 files changed, 211 insertions(+), 163 deletions(-) delete mode 100644 tests/files/error.1 delete mode 100644 tests/files/error.2 delete mode 100644 tests/files/expr-concat delete mode 100644 tests/files/expr-ct delete mode 100644 tests/files/expr-meta delete mode 100644 tests/files/family-ipv4 delete mode 100644 tests/files/family-ipv6 delete mode 100644 tests/files/feat-adjancent-load-merging delete mode 100644 tests/files/prefix delete mode 100644 tests/files/stmt-log create mode 100755 tests/shell/testcases/maps/different_map_types_1 create mode 100755 tests/shell/testcases/optionals/log_0 create mode 100755 tests/shell/testcases/optionals/log_flags_0 create mode 100755 tests/shell/testcases/transactions/0024rule_0 create mode 100755 tests/shell/testcases/transactions/0025rule_0 create mode 100755 tests/shell/testcases/transactions/0026rule_0 create mode 100755 tests/shell/testcases/transactions/0050concat_1
Signature · 1 line
2.13.6
PATCH 1/16 tests: files: Remove tests for ipv4
This patch removes test cases for ipv4 family. As they are already present in tests/shell file.
--- tests/files/family-ipv4 | 14 -------------- 1 file changed, 14 deletions(-) delete mode 100644 tests/files/family-ipv4
tests/files/family-ipv4 deleted +0 -14
@@ -1,14 +0,0 @@ -#! nft -f - -flush chain ip filter output -delete chain ip filter output -delete table filter - -add table ip filter -add chain ip filter output { type filter hook input priority 0; } - -# IP address -add rule ip filter output ip daddr 192.168.0.1 counter - -# TCP ports -add rule ip filter output tcp dport 22 counter
Signature · 1 line
2.13.6
PATCH 2/16 tests: files: Remove tests for ipv6
This patch removes test cases for ipv6 family. As they are already present in tests/shell file.
--- tests/files/family-ipv6 | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 tests/files/family-ipv6
tests/files/family-ipv6 deleted +0 -13
@@ -1,13 +0,0 @@ -#! nft -f - -add table ip6 filter -add chain ip6 filter output { type filter hook output priority 0 ; } - -# IP address -add rule ip6 filter output ip6 daddr 2001:6f8:974::1 counter - -# Next protocol -add rule ip6 filter output ip6 nexthdr tcp - -# TCP ports -add rule ip6 filter output tcp dport 22 counter
Signature · 1 line
2.13.6
PATCH 3/16 tests: shell: Add test for log statement.
In reply to Varsha RaoAdd test case for log statement.
--- tests/shell/testcases/optionals/log_0 | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100755 tests/shell/testcases/optionals/log_0
tests/shell/testcases/optionals/log_0 new file +22 -0
@@ -0,0 +1,22 @@ +#!/bin/bash + +set -e + +EXPECTED="table ip x { + chain y { + type filter hook output priority 0; policy accept; + tcp dport ssh log group 0 counter packets 0 bytes 0 + } +}" + +$NFT add table ip x +$NFT add chain ip x y { type filter hook output priority 0\; } +$NFT add rule ip x y tcp dport 22 log group 0 counter + +GET="$($NFT list ruleset)" + +if [ "$EXPECTED" != "$GET" ] ; then + DIFF="$(which diff)" + [ -x $DIFF ] && $DIFF -u <(echo "$EXPECTED") <(echo "$GET") + exit 1 +fi
Signature · 1 line
2.13.6
PATCH 4/16 tests: files: Remove log statement tests.
In reply to Varsha RaoNew test case for log statement has been added to tests/shell file, so remove it.
--- tests/files/stmt-log | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 tests/files/stmt-log
tests/files/stmt-log deleted +0 -6
@@ -1,6 +0,0 @@ -#! nft -f - -add table ip filter -add chain ip filter output { type filter hook output priority 0; } - -add rule ip filter output log saddr "prefix" group 0 counter
Signature · 1 line
2.13.6
PATCH 5/16 tests: shell: Add test for log flags.
In reply to Varsha RaoThis patch adds test cases for log flags.
--- tests/shell/testcases/optionals/log_flags_0 | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100755 tests/shell/testcases/optionals/log_flags_0
tests/shell/testcases/optionals/log_flags_0 new file +29 -0
@@ -0,0 +1,29 @@ +#!/bin/bash + +set -e + +EXPECTED="table ip x { + chain y { + log flags tcp sequence,options + log flags ip options + log flags skuid + log flags ether + log flags all + } +}" + +$NFT add table ip x +$NFT add chain ip x y +$NFT add rule x y log flags tcp sequence,options +$NFT add rule x y log flags ip options +$NFT add rule x y log flags skuid +$NFT add rule x y log flags ether +$NFT add rule x y log flags all + +GET="$($NFT list ruleset)" + +if [ "$EXPECTED" != "$GET" ] ; then + DIFF="$(which diff)" + [ -x $DIFF ] && $DIFF -u <(echo "$EXPECTED") <(echo "$GET") + exit 1 +fi
Signature · 1 line
2.13.6
PATCH 6/16 tests: shell: Add tests for payload expression.
In reply to Varsha RaoThis patch adds test case for adjacent payload expression.
--- tests/shell/testcases/transactions/0024rule_0 | 44 +++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100755 tests/shell/testcases/transactions/0024rule_0
tests/shell/testcases/transactions/0024rule_0 new file +44 -0
@@ -0,0 +1,44 @@ +#!/bin/bash + +# Tests for adjacent payload expressions. + +set -e + +tmpfile=$(mktemp) +if [ ! -w $tmpfile ] ; then + echo "Failed to create tmp file" >&2 + exit 0 +fi + +trap "rm -rf $tmpfile" EXIT # cleanup if aborted + +RULESET="add table x +add chain x y +add rule x y tcp sport 1024 tcp dport 22 counter +add rule x y ip saddr 192.168.0.1 ip daddr 192.168.0.100 counter +add rule x y tcp sequence 0 tcp sport 1024 tcp dport 22 +add rule x y tcp sport 1024 tcp dport 22 tcp sequence 0" + +echo "$RULESET" > $tmpfile +$NFT -f $tmpfile +if [ $? -ne 0 ] ; then + echo "E: unable to load good ruleset" >&2 + exit 1 +fi + +EXPECTED="table ip x { + chain y { + tcp sport 1024 tcp dport ssh counter packets 0 bytes 0 + ip saddr 192.168.0.1 ip daddr 192.168.0.100 counter packets 0 bytes 0 + tcp sport 1024 tcp dport ssh tcp sequence 0 + tcp sport 1024 tcp dport ssh tcp sequence 0 + } +}" + +GET="$($NFT list ruleset)" + +if [ "$EXPECTED" != "$GET" ] ; then + DIFF="$(which diff)" + [ -x $DIFF ] && $DIFF -u <(echo "$EXPECTED") <(echo "$GET") + exit 1 +fi
Signature · 1 line
2.13.6
PATCH 7/16 tests: files: Remove payload expression tests.
In reply to Varsha RaoRemove test for payload expression as new test has been added to tests/shell.
--- tests/files/feat-adjancent-load-merging | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 tests/files/feat-adjancent-load-merging
tests/files/feat-adjancent-load-merging deleted +0 -13
@@ -1,13 +0,0 @@ -#! nft -f - -# adjacent payload expressions: 4 bytes in order -add rule filter output tcp sport 1024 tcp dport 22 counter - -# adjacent payload expressions: 8 bytes in order -add rule filter output ip saddr 192.168.0.1 ip daddr 192.168.0.100 counter - -# adjacent payload expressions: 8 bytes in order -add rule filter output tcp sequence 0 tcp sport 1024 tcp dport 22 - -# adjacent payload expressions: 8 bytes in reverse order -add rule filter output tcp sport 1024 tcp dport 22 tcp sequence 0
Signature · 1 line
2.13.6
PATCH 8/16 tests: files: Remove test for syntactical errors.
In reply to Varsha RaoThis patch removes test for syntax error as they are not required.
--- tests/files/error.1 | 9 --------- tests/files/error.2 | 18 ------------------ 2 files changed, 27 deletions(-) delete mode 100644 tests/files/error.1 delete mode 100644 tests/files/error.2
tests/files/error.1 deleted +0 -9
@@ -1,9 +0,0 @@ -#! nft -f - -# mixed syntactical and non-syntactical errors -filter { -filter input -filter input tcp -filter input tcp dport -filter input tcp dport tcp -filter input tcp dport tcp dport
tests/files/error.2 deleted +0 -18
@@ -1,18 +0,0 @@ -#! nft -f - -# mixed syntactical and non-syntactical errors in blocks -table filter { - # missing identifier - chain - - # missing chain block - chain output - - chain output { - tcp - tcp dport - tcp dport tcp - tcp dport tcp dport - tcp dport ssh - } -}
Signature · 1 line
2.13.6
PATCH 9/16 tests: shell: Add test for ct expression.
In reply to Varsha RaoThis patch adds test cases for ct expression.
--- tests/shell/testcases/transactions/0025rule_0 | 36 +++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100755 tests/shell/testcases/transactions/0025rule_0
tests/shell/testcases/transactions/0025rule_0 new file +36 -0
@@ -0,0 +1,36 @@ +#!/bin/bash + +# Test for ct statements. + +set -e + +$NFT add table x +$NFT add chain x y { type filter hook output priority 0\; } +$NFT add rule x y ct state new,established +$NFT add rule x y ct direction original +$NFT add rule x y ct direction reply +$NFT add rule x y ct status expected +$NFT add rule x y ct mark 0 +$NFT add rule x y ct expiration 30 +$NFT add rule x y ct helper "ftp" + +EXPECTED="table ip x { + chain y { + type filter hook output priority 0; policy accept; + ct state established,new + ct direction original + ct direction reply + ct status expected + ct mark 0x00000000 + ct expiration 30s + ct helper \"ftp\" + } +}" + +GET="$($NFT list ruleset)" + +if [ "$EXPECTED" != "$GET" ] ; then + DIFF="$(which diff)" + [ -x $DIFF ] && $DIFF -u <(echo "$EXPECTED") <(echo "$GET") + exit 1 +fi
Signature · 1 line
2.13.6
PATCH 10/16 tests: files: Remove test for ct expression.
In reply to Varsha RaoThis patch removes test cases for ct expression.
--- tests/files/expr-ct | 26 -------------------------- 1 file changed, 26 deletions(-) delete mode 100644 tests/files/expr-ct
tests/files/expr-ct deleted +0 -26
@@ -1,26 +0,0 @@ -#! nft -f - -add table ip filter -add chain ip filter output { type filter hook output priority 0 ; } - -# ct: state -add rule ip filter output ct state new,established counter - -# ct: direction original/reply -add rule ip filter output ct direction original counter -add rule ip filter output ct direction reply counter - -# ct: status -add rule ip filter output ct status expected counter - -# ct: mark -add rule ip filter output ct mark 0 counter - -# ct: secmark -add rule ip filter output ct secmark 0 counter - -# ct: expiration -add rule ip filter output ct expiration 30 counter - -# ct: helper ftp -add rule ip filter output ct helper "ftp" counter
Signature · 1 line
2.13.6
PATCH 11/16 tests: files: Remove prefix file.
In reply to Varsha RaoTest rules in prefix file are not required, so remove it.
--- tests/files/prefix | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 tests/files/prefix
tests/files/prefix deleted +0 -5
@@ -1,5 +0,0 @@ -add rule filter OUTPUT meta mark 123/0x000000ff -add rule filter OUTPUT ip daddr 192.168.0.0/24 -add rule filter OUTPUT ip daddr 192.168.0.0/255.255.255.0 -add rule filter OUTPUT ip saddr . ip daddr 192.168.0.0/24 . 192.168.0.0/24 -add rule filter OUTPUT ip daddr { 192.168.0.0/24, 192.168.1.0/24}
Signature · 1 line
2.13.6
PATCH 12/16 tests: files: Test for meta expressions.
In reply to Varsha RaoThis patch adds test case for meta expressions.
--- tests/shell/testcases/transactions/0026rule_0 | 44 +++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100755 tests/shell/testcases/transactions/0026rule_0
tests/shell/testcases/transactions/0026rule_0 new file +44 -0
@@ -0,0 +1,44 @@ +#!/bin/bash + +# Test for meta expressions. + +set -e + +$NFT add table x +$NFT add chain x y { type filter hook output priority 0\; } +$NFT add rule x y meta length 1000 +$NFT add rule x y meta protocol 0x0800 +$NFT add rule x y meta mark 0 +$NFT add rule x y meta iif lo +$NFT add rule x y meta iifname "eth0" +$NFT add rule x y meta oif lo +$NFT add rule x y meta oifname "eth0" +$NFT add rule x y meta skuid 1000 +$NFT add rule x y meta nftrace set 1 +$NFT add rule x y meta rtclassid cosmos + +usr=$"$USER" + +EXPECTED="table ip x { + chain y { + type filter hook output priority 0; policy accept; + meta length 1000 + meta protocol ip + mark 0x00000000 + iif \"lo\" + iifname \"eth0\" + oif \"lo\" + oifname \"eth0\" + skuid \"$usr\" + nftrace set 1 + rtclassid \"cosmos\" + } +}" + +GET="$($NFT list ruleset)" + +if [ "$EXPECTED" != "$GET" ] ; then + DIFF="$(which diff)" + [ -x $DIFF ] && $DIFF -u <(echo "$EXPECTED") <(echo "$GET") + exit 1 +fi
Signature · 1 line
2.13.6
PATCH 13/16 tests: files: Remove test for meta expression.
In reply to Varsha RaoThis patch removes test cases for meta expression. As new test is added to tests/shell.
--- tests/files/expr-meta | 40 ---------------------------------------- 1 file changed, 40 deletions(-) delete mode 100644 tests/files/expr-meta
tests/files/expr-meta deleted +0 -40
@@ -1,40 +0,0 @@ -#! nft -f - -add table ip filter -add chain ip filter output { type filter hook output priority 0 ; } - -# meta: skb len -add rule ip filter output meta length 1000 counter - -# meta: skb protocol -add rule ip filter output meta protocol 0x0800 counter - -# meta: skb mark -add rule ip filter output meta mark 0 counter - -# meta: skb iif -add rule ip filter output meta iif lo counter - -# meta: skb iifname -add rule ip filter output meta iifname "eth0" counter - -# meta: skb oif -add rule ip filter output meta oif lo counter - -# meta: skb oifname -add rule ip filter output meta oifname "eth0" counter - -# meta: skb sk uid -add rule ip filter output meta skuid 1000 counter - -# meta: skb sk gid -add rule ip filter output meta skgid 1000 counter - -# meta: nftrace -add rule ip filter output meta nftrace 1 counter - -# meta: rtclassid (see /etc/iproute2/rt_realms) -add rule ip filter output meta rtclassid cosmos counter - -# meta: secmark -add rule ip filter output meta secmark 0 counter
Signature · 1 line
2.13.6
PATCH 14/16 tests: shell: Add tests for concat expression.
In reply to Varsha RaoAdd test cases for concat type and element mismatch.
--- tests/shell/testcases/transactions/0050concat_1 | 26 +++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100755 tests/shell/testcases/transactions/0050concat_1
tests/shell/testcases/transactions/0050concat_1 new file +26 -0
@@ -0,0 +1,26 @@ +#!/bin/bash + +set -e + +tmpfile=$(mktemp) +if [ ! -w $tmpfile ] ; then + echo "Failed to create tmp file" >&2 + exit 0 +fi + +trap "rm -rf $tmpfile" EXIT # cleanup if aborted + +RULESET="add table ip x +add chain ip x y +add rule ip x y ip daddr . tcp sport . tcp dport { \ + 192.168.0.1 . 22, \ + 192.168.0.1 . 80, \ +} +add rule ip x y ip daddr . tcp dport { \ + 192.168.0.1 . 192.168.0.2, \ + 192.168.0.1 . 192.168.0.3, \ +}" + +echo "$RULESET" > $tmpfile +$NFT -f $tmpfile +echo "E: Allowed concat type and element mismatch"
Signature · 1 line
2.13.6
PATCH 15/16 tests: files: Remove tests for concat expression.
In reply to Varsha RaoNew test cases for concat expression has been added to tests/shell file, so remove it.
--- tests/files/expr-concat | 19 ------------------- 1 file changed, 19 deletions(-) delete mode 100644 tests/files/expr-concat
tests/files/expr-concat deleted +0 -19
@@ -1,19 +0,0 @@ -#! nft -f - -# Concat element mismatch -add rule ip filter output ip daddr . tcp sport . tcp dport { \ - 192.168.0.1 . 22, \ - 192.168.0.1 . 80, \ -} - -# Concat type mismatch -add rule ip filter output ip daddr . tcp dport { \ - 192.168.0.1 . 192.168.0.2, \ - 192.168.0.1 . 192.168.0.3, \ -} - -# Concat expression -add rule ip filter output ip daddr . tcp dport { \ - 192.168.0.1 . 22, \ - 192.168.0.1 . 80, \ -}
Signature · 1 line
2.13.6
PATCH 16/16 tests: shell: Add test case for map expression.
In reply to Varsha RaoAdd tests for different map expression.
--- tests/shell/testcases/maps/different_map_types_1 | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100755 tests/shell/testcases/maps/different_map_types_1
tests/shell/testcases/maps/different_map_types_1 new file +10 -0
@@ -0,0 +1,10 @@ +#!/bin/bash + +# must fail: expr MAP { expr : type1, expr : type2, .. } expr + +set -e + +$NFT add table ip filter +$NFT add chain ip filter output { type filter hook output priority 0 \; } +$NFT add rule ip filter output meta mark set tcp dport map { 22 : 1, 23 : 192.168.0.1 } +echo "E: Added two different types of expression to map"
Signature · 1 line
2.13.6
Pablo Neira Ayuso
maintainerHi Varsha,
Quoted 7 lines · Varsha Rao
This patch removes tests from tests/files and add tests to tests/shell which are not present in it.
Varsha Rao (16):
tests: files: Remove tests for ipv4
tests: files: Remove tests for ipv6
tests: shell: Add test for log statement.
I think we have a test for this under tests/py.
Quoted 3 lines
tests: files: Remove log statement tests.
tests: shell: Add test for log flags.
tests: shell: Add tests for payload expression.
Same thing for these to..
Quoted 3 lines
tests: files: Remove payload expression tests.
tests: files: Remove test for syntactical errors.
tests: shell: Add test for ct expression.
Same thing.
Quoted 3 lines
tests: files: Remove test for ct expression.
tests: files: Remove prefix file.
tests: files: Test for meta expressions.
Same thing.
Quoted 2 lines
tests: files: Remove test for meta expression.
tests: shell: Add tests for concat expression.
Same thing... so it looks like you can send a patch to remove them all in one go.
Thanks a lot for reviewing what we had under tests/files/
Quoted 2 lines
tests: files: Remove tests for concat expression.
tests: shell: Add test case for map expression.
BTW, I have applied 16/16.