diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2022-06-13 17:05:22 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2022-06-13 17:22:07 +0200 |
commit | 8fafe4e6b5b30f2539f16403da8d5c5f819e523b (patch) | |
tree | 3481bbc55e63f7b1d789a7ab186803886249122d /tests/shell/testcases/sets/automerge_0 | |
parent | 638af0ceb2b22307098bb2730822e148ef0b9424 (diff) |
tests: shell: runtime set element automerge
Add a test to cover runtime set element automerge.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'tests/shell/testcases/sets/automerge_0')
-rwxr-xr-x | tests/shell/testcases/sets/automerge_0 | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/tests/shell/testcases/sets/automerge_0 b/tests/shell/testcases/sets/automerge_0 new file mode 100755 index 00000000..c9fb6095 --- /dev/null +++ b/tests/shell/testcases/sets/automerge_0 @@ -0,0 +1,64 @@ +#!/bin/bash + +set -e + +RULESET="table inet x { + set y { + type inet_service + flags interval + auto-merge + } +}" + +$NFT -f - <<< $RULESET + +tmpfile=$(mktemp) +echo -n "add element inet x y { " > $tmpfile +for ((i=0;i<65535;i+=2)) +do + echo -n "$i, " >> $tmpfile + if [ $i -eq 65534 ] + then + echo -n "$i" >> $tmpfile + fi +done +echo "}" >> $tmpfile + +$NFT -f $tmpfile + +tmpfile2=$(mktemp) +for ((i=1;i<65535;i+=2)) +do + echo "$i" >> $tmpfile2 +done + +tmpfile3=$(mktemp) +shuf $tmpfile2 > $tmpfile3 +i=0 +cat $tmpfile3 | while read line && [ $i -lt 10 ] +do + $NFT add element inet x y { $line } + i=$((i+1)) +done + +for ((i=0;i<10;i++)) +do + from=$(($RANDOM%65535)) + to=$(($from+100)) + $NFT add element inet x y { $from-$to } + if [ $? -ne 0 ] + then + echo "failed to add $from-$to" + exit 1 + fi + $NFT get element inet x y { $from-$to } + if [ $? -ne 0 ] + then + echo "failed to get $from-$to" + exit 1 + fi +done + +rm -f $tmpfile +rm -f $tmpfile2 +rm -f $tmpfile3 |