From 935f82e7dd4911fde6be9dae960fd1d438542a5d Mon Sep 17 00:00:00 2001 From: Phil Sutter Date: Mon, 19 Mar 2018 18:02:02 +0100 Subject: Support 'nft -f -' to read from stdin In libnftables, detect if given filename is '-' and treat it as the common way of requesting to read from stdin, then open /dev/stdin instead. (Calling 'nft -f /dev/stdin' worked before as well, but this makes it official.) With this in place and bash's support for here strings, review all tests in tests/shell for needless use of temp files. Note that two categories of test cases were intentionally left unchanged: - Tests creating potentially large rulesets to avoid running into shell parameter length limits. - Tests for 'include' directive for obvious reasons. Signed-off-by: Phil Sutter Signed-off-by: Pablo Neira Ayuso --- tests/shell/testcases/maps/0006interval_map_overlap_0 | 19 ++++--------------- tests/shell/testcases/maps/0007named_ifname_dtype_0 | 11 +---------- 2 files changed, 5 insertions(+), 25 deletions(-) (limited to 'tests/shell/testcases/maps') diff --git a/tests/shell/testcases/maps/0006interval_map_overlap_0 b/tests/shell/testcases/maps/0006interval_map_overlap_0 index 682ac65b..d63a396d 100755 --- a/tests/shell/testcases/maps/0006interval_map_overlap_0 +++ b/tests/shell/testcases/maps/0006interval_map_overlap_0 @@ -4,24 +4,13 @@ # shows how disjoint intervals are seen as overlaps # NOTE this is only an issue with two separate nft calls -tmpfile=$(mktemp) -if [ ! -w $tmpfile ] ; then - echo "Failed to create tmp file" >&2 - exit 0 -fi - -trap "rm -rf $tmpfile" EXIT # cleanup if aborted - n=1 -echo "add table x +RULESET="add table x add map x y { type ipv4_addr : ipv4_addr; flags interval; } -add element x y { 10.0.${n}.0/24 : 10.0.0.${n} }" > $tmpfile +add element x y { 10.0.${n}.0/24 : 10.0.0.${n} }" set -e -$NFT -f $tmpfile +$NFT -f - <<< $RULESET n=2 -echo "add element x y { 10.0.${n}.0/24 : 10.0.0.${n} }" > $tmpfile - -$NFT -f $tmpfile - +$NFT "add element x y { 10.0.${n}.0/24 : 10.0.0.${n} }" diff --git a/tests/shell/testcases/maps/0007named_ifname_dtype_0 b/tests/shell/testcases/maps/0007named_ifname_dtype_0 index 5e51a605..4c7e7895 100755 --- a/tests/shell/testcases/maps/0007named_ifname_dtype_0 +++ b/tests/shell/testcases/maps/0007named_ifname_dtype_0 @@ -2,14 +2,6 @@ # support for ifname in named maps -tmpfile=$(mktemp) -if [ ! -w $tmpfile ] ; then - echo "Failed to create tmp file" >&2 - exit 0 -fi - -trap "rm -rf $tmpfile" EXIT # cleanup if aborted - EXPECTED="table inet t { map m1 { type ifname : ipv4_addr @@ -23,6 +15,5 @@ EXPECTED="table inet t { }" set -e -echo "$EXPECTED" > $tmpfile -$NFT -f $tmpfile +$NFT -f - <<< $EXPECTED -- cgit v1.2.3