#!/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)
if [ ! -w "$tmpfile1" ] ; then
        echo "Failed to create tmp file" >&2
        exit 1
fi

trap "rm -rf $tmpfile1 $tmpfile2 $tmpfile3 $tmpfile4" EXIT # cleanup if aborted

tmpfile2=$(mktemp)
if [ ! -w "$tmpfile2" ] ; then
        echo "Failed to create tmp file" >&2
        exit 1
fi

tmpfile3=$(mktemp)
if [ ! -w "$tmpfile3" ] ; then
        echo "Failed to create tmp file" >&2
        exit 1
fi

tmpfile4=$(mktemp)
if [ ! -w "$tmpfile4" ]; then
        echo "Failed to create tmp file" >&2
        exit 1
fi

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
