From a9dc3ceabc10f3bf43c7e9edc6d4a35ef3aa2358 Mon Sep 17 00:00:00 2001 From: Arturo Borrero Gonzalez Date: Tue, 2 May 2017 11:47:02 +0200 Subject: expression: print sets and maps in pretty format Print elements per line instead of all in a single line. The elements which can be 'short' are printed 5 per line, and others, like IPv4 addresses are printed 2 per line. Example: % nft list ruleset -nnn table ip t { set s { type inet_service elements = { 1, 2, 3, 4, 10, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 12345 } } map m { type inet_service . iface_index : verdict elements = { 123 . "lo" : accept, 1234 . "lo" : accept, 12345 . "lo" : accept, 12346 . "lo" : accept, 12347 . "lo" : accept } } set s3 { type ipv4_addr elements = { 1.1.1.1, 2.2.2.2, 3.3.3.3 } } } Signed-off-by: Arturo Borrero Gonzalez Signed-off-by: Pablo Neira Ayuso --- tests/shell/testcases/maps/0003map_add_many_elements_0 | 15 +++++++++++---- tests/shell/testcases/maps/0004interval_map_create_once_0 | 15 +++++++++++---- .../testcases/maps/0005interval_map_add_many_elements_0 | 15 +++++++++++---- 3 files changed, 33 insertions(+), 12 deletions(-) (limited to 'tests/shell') diff --git a/tests/shell/testcases/maps/0003map_add_many_elements_0 b/tests/shell/testcases/maps/0003map_add_many_elements_0 index 36b1be25..047f9497 100755 --- a/tests/shell/testcases/maps/0003map_add_many_elements_0 +++ b/tests/shell/testcases/maps/0003map_add_many_elements_0 @@ -24,15 +24,22 @@ generate_add() { } generate_test() { + count=0 elements="" for ((i=1; i<=HOWMANY; i++)) ; do for ((j=1; j<=HOWMANY; j++)) ; do - elements="$elements 10.0.${i}.${j} : 10.0.${i}.${j}" + ((count++)) + elements="${elements}10.0.${i}.${j} : 10.0.${i}.${j}" [ "$i" == "$HOWMANY" ] && [ "$j" == "$HOWMANY" ] && break - elements="${elements}, " + if [ "$count" == "2" ] ; then + count=0 + elements="${elements},\\n\\t\\t\\t " + else + elements="${elements}, " + fi done done - echo $elements + echo -e "$elements" } echo "add table x @@ -49,7 +56,7 @@ $NFT -f $tmpfile EXPECTED="table ip x { map y { type ipv4_addr : ipv4_addr - elements = { $(generate_test) } + elements = { "$(generate_test)" } } }" GET=$($NFT list ruleset) diff --git a/tests/shell/testcases/maps/0004interval_map_create_once_0 b/tests/shell/testcases/maps/0004interval_map_create_once_0 index 1f043875..58b399c1 100755 --- a/tests/shell/testcases/maps/0004interval_map_create_once_0 +++ b/tests/shell/testcases/maps/0004interval_map_create_once_0 @@ -26,15 +26,22 @@ generate_add() { } generate_test() { + count=0 elements="" for ((i=1; i<=HOWMANY; i++)) ; do for ((j=1; j<=HOWMANY; j++)) ; do - elements="$elements 10.${i}.${j}.0/24 : 10.0.${i}.${j}" + ((count++)) + elements="${elements}10.${i}.${j}.0/24 : 10.0.${i}.${j}" [ "$i" == "$HOWMANY" ] && [ "$j" == "$HOWMANY" ] && break - elements="${elements}, " + if [ "$count" == "2" ] ; then + count=0 + elements="${elements},\\n\\t\\t\\t " + else + elements="${elements}, " + fi done done - echo $elements + echo -e "$elements" } echo "add table x @@ -48,7 +55,7 @@ EXPECTED="table ip x { map y { type ipv4_addr : ipv4_addr flags interval - elements = { $(generate_test) } + elements = { "$(generate_test)" } } }" GET=$($NFT list ruleset) diff --git a/tests/shell/testcases/maps/0005interval_map_add_many_elements_0 b/tests/shell/testcases/maps/0005interval_map_add_many_elements_0 index 4d4f708e..55f90555 100755 --- a/tests/shell/testcases/maps/0005interval_map_add_many_elements_0 +++ b/tests/shell/testcases/maps/0005interval_map_add_many_elements_0 @@ -27,15 +27,22 @@ generate_add() { } generate_test() { + count=0 elements="" for ((i=1; i<=HOWMANY; i++)) ; do for ((j=1; j<=HOWMANY; j++)) ; do - elements="$elements 10.${i}.${j}.0/24 : 10.0.${i}.${j}" + ((count++)) + elements="${elements}10.${i}.${j}.0/24 : 10.0.${i}.${j}" [ "$i" == "$HOWMANY" ] && [ "$j" == "$HOWMANY" ] && break - elements="${elements}, " + if [ "$count" == "2" ] ; then + count=0 + elements="${elements},\\n\\t\\t\\t " + else + elements="${elements}, " + fi done done - echo $elements + echo -e "$elements" } echo "add table x @@ -54,7 +61,7 @@ EXPECTED="table ip x { map y { type ipv4_addr : ipv4_addr flags interval - elements = { $(generate_test) } + elements = { "$(generate_test)" } } }" GET=$($NFT list ruleset) -- cgit v1.2.3