From c875374f4c846fddf22026db479e73e6ddb3b5b3 Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Tue, 24 Jan 2017 19:33:07 +0100 Subject: tests: shell: validate set size Add two tests to make sure that set size checks work fine: 1) Check if set size is indeed working, this is a simple one. 2) Check if set size is correct after ENFILE error, there is bug that adds a new spare slot everytime we hit this. Signed-off-by: Pablo Neira Ayuso --- tests/shell/testcases/sets/0018set_check_size_1 | 8 ++++++++ tests/shell/testcases/sets/0019set_check_size_0 | 20 ++++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100755 tests/shell/testcases/sets/0018set_check_size_1 create mode 100755 tests/shell/testcases/sets/0019set_check_size_0 (limited to 'tests/shell') diff --git a/tests/shell/testcases/sets/0018set_check_size_1 b/tests/shell/testcases/sets/0018set_check_size_1 new file mode 100755 index 00000000..833b8e2b --- /dev/null +++ b/tests/shell/testcases/sets/0018set_check_size_1 @@ -0,0 +1,8 @@ +#!/bin/bash + +set -e +$NFT add table x +$NFT add set x s {type ipv4_addr\; size 2\;} +$NFT add element x s {1.1.1.1} +$NFT add element x s {1.1.1.2} +$NFT add element x s {1.1.1.3} diff --git a/tests/shell/testcases/sets/0019set_check_size_0 b/tests/shell/testcases/sets/0019set_check_size_0 new file mode 100755 index 00000000..c2097083 --- /dev/null +++ b/tests/shell/testcases/sets/0019set_check_size_0 @@ -0,0 +1,20 @@ +#!/bin/bash + +$NFT add table x +$NFT add set x s {type ipv4_addr\; size 2\;} +$NFT add element x s {1.1.1.1} +$NFT add element x s {1.1.1.2} + +$NFT add element x s { 1.1.1.3 } 2>/dev/null +if [ $? -eq 0 ]; then + echo "E: set is full, but element was added" >&2 + exit 1 +fi +# +# Try again, this helps us catch incorrect set->nelems decrement from abort path +# +$NFT add element x s { 1.1.1.3 } 2>/dev/null +if [ $? -eq 0 ]; then + echo "E: set is full, but element was added" >&2 + exit 1 +fi -- cgit v1.2.3