#/bin/bash
-# a simple component of unit testing which verifies that the input matches the output.
+# a simple component of unit testing which verifies that the input matches
+# the expected input.
# the single parameter to the script is a file that contains the correct answer.
answer_file="$1"; shift
if [ -z "$answer_file" -o ! -f "$answer_file" ]; then
- echo This script needs a parameter which is a valid file filled with the
- echo correct version of the input.
+ echo This script needs a valid file parameter that points at the correct
+ echo values for the data stream.
exit 1
fi
diff -q "$input_save_file" "$answer_file"
if [ $? -ne 0 ]; then
sep 76
- echo "The provided input differs from the correct answer!"
+ echo "The provided text differs from the correct answer!"
echo -e "\nAnswer file has:\n=============="
cat "$answer_file"
- echo -e "==============\nBut the input data has:\n=============="
+ echo -e "==============\nBut the data we saw has:\n=============="
cat "$input_save_file"
echo -e "=============="
sep 76
false # set bad exit value.
fi
+rm "$input_save_file"
+
exit $?