path: root/tests/shell/testcases/listing/0011sets_0
diff options
authorArturo Borrero <>2016-01-13 19:29:09 +0100
committerPablo Neira Ayuso <>2016-03-03 19:55:25 +0100
commit3fb3bb60337483c6dd578a4ae4ffccf4829b726e (patch)
treea2453f9f7dedb778bb3f2965f1de89cb858a7e5c /tests/shell/testcases/listing/0011sets_0
parentcae7b659d179ea0bb411cc185bfcba4822b763c9 (diff)
tests/listing: add some listing tests
Let's test what is shown with the 'list' command, for ruleset, tables and sets. In order to ease debug in case of failure, if the diff tool is in the system, then a textual diff is printed. Signed-off-by: Arturo Borrero Gonzalez <> Signed-off-by: Pablo Neira Ayuso <>
Diffstat (limited to 'tests/shell/testcases/listing/0011sets_0')
1 files changed, 44 insertions, 0 deletions
diff --git a/tests/shell/testcases/listing/0011sets_0 b/tests/shell/testcases/listing/0011sets_0
new file mode 100755
index 00000000..1bf68877
--- /dev/null
+++ b/tests/shell/testcases/listing/0011sets_0
@@ -0,0 +1,44 @@
+# listing all sets, no anonymous sets allowed
+EXPECTED="table ip nat {
+table ip6 test {
+table inet filter {
+table arp test_arp {
+table bridge test_bridge {
+set -e
+$NFT add table ip nat
+$NFT add chain ip nat test
+$NFT add rule ip nat test tcp dport {123}
+$NFT add table ip6 test
+$NFT add chain ip6 test test
+$NFT add rule ip6 test test udp sport {123}
+$NFT add table arp test_arp
+$NFT add chain arp test_arp test
+$NFT add rule arp test_arp test meta nfproto {ipv4}
+$NFT add table bridge test_bridge
+$NFT add chain bridge test_bridge test
+$NFT add rule bridge test_bridge test ip daddr {}
+$NFT add table inet filter
+$NFT add chain inet filter test
+$NFT add rule inet filter test tcp dport {80, 443}
+GET="$($NFT list sets)"
+if [ "$EXPECTED" != "$GET" ] ; then
+ DIFF="$(which diff)"
+ [ -x $DIFF ] && $DIFF -u <(echo "$EXPECTED") <(echo "$GET")
+ exit 1