From 8750c928cf2a250065a4a0e7948b961be3c46a52 Mon Sep 17 00:00:00 2001 From: Shyam Saini Date: Fri, 23 Jun 2017 17:35:56 +0530 Subject: tests: shell: Test input descriptors for included files Before b14572f72aac ("erec: Fix input descriptors for included files"), nft error message was pointing to wrong file. But after this commit it points to right file. This patch adds a new test for this commit. Signed-off-by: Shyam Saini Signed-off-by: Pablo Neira Ayuso --- .../include/0013input_descriptors_included_files_0 | 52 ++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100755 tests/shell/testcases/include/0013input_descriptors_included_files_0 (limited to 'tests') diff --git a/tests/shell/testcases/include/0013input_descriptors_included_files_0 b/tests/shell/testcases/include/0013input_descriptors_included_files_0 new file mode 100755 index 00000000..03de50b3 --- /dev/null +++ b/tests/shell/testcases/include/0013input_descriptors_included_files_0 @@ -0,0 +1,52 @@ +#!/bin/bash + +# This test the changes made in commit id "b14572f72aac". +# When the commit was not applied, nft pointed to wrong files name. +# As the commit only fixes the error messages and hence does not change the +# return value so, we need to compare the "file name" in the error message +# instead of return value of nft. + + +tmpfile1=$(mktemp -p .) +if [ ! -w $tmpfile1 ] ; then + echo "Failed to create tmp file" >&2 + exit 0 +fi + +tmpfile2=$(mktemp -p .) +if [ ! -w $tmpfile2 ] ; then + echo "Failed to create tmp file" >&2 + exit 0 +fi + +tmpfile3=$(mktemp -p .) +if [ ! -w $tmpfile3 ] ; then + echo "Failed to create tmp file" >&2 + exit 0 +fi + +tmpfile4=$(mktemp -p .) +if [ ! -w $tmpfile4 ]; then + echo "Failed to create tmp file" >&2 + exit 0 +fi + +trap "rm -rf $tmpfile1 $tmpfile2 $tmpfile3 $tmpfile4" EXIT # cleanup if aborted + +RULESET1="include \"$tmpfile2\"" +RULESET2="include \"$tmpfile3\"" +RULESET3="add rule x y anything everything" # wrong nft syntax + + +echo "$RULESET1" > $tmpfile1 +echo "$RULESET2" >> $tmpfile1 +echo "$RULESET3" > $tmpfile2 + +$NFT -f $tmpfile1 2> $tmpfile4 + +var=$(awk -F: '$4==" Error"{print $1;exit;}' $tmpfile4) + +if [ $var == "$tmpfile3" ]; then + echo "E: Test failed" >&2 + exit 1 +fi -- cgit v1.2.3