From 19d133f4a6b2be47e7266264017a67061e3eff31 Mon Sep 17 00:00:00 2001 From: David Phillips Date: Wed, 18 May 2016 14:06:23 +1200 Subject: Testing: Add expectations on stderr for error cases --- test/error/bad-magic.stderr.log.expected | 1 + test/error/empty-frame.stderr.log.expected | 1 + test/error/header-mismatch.stderr.log.expected | 1 + test/error/long-magic-token.stderr.log.expected | 2 ++ test/error/non-positive-dimension.stderr.log.expected | 1 + test/error/not-square.stderr.log.expected | 1 + test/error/truncated-input.stderr.log.expected | 2 ++ test/error/zero-white.stderr.log.expected | 1 + test/test.sh | 12 ++++++++---- 9 files changed, 18 insertions(+), 4 deletions(-) create mode 100644 test/error/bad-magic.stderr.log.expected create mode 100644 test/error/empty-frame.stderr.log.expected create mode 100644 test/error/header-mismatch.stderr.log.expected create mode 100644 test/error/long-magic-token.stderr.log.expected create mode 100644 test/error/non-positive-dimension.stderr.log.expected create mode 100644 test/error/not-square.stderr.log.expected create mode 100644 test/error/truncated-input.stderr.log.expected create mode 100644 test/error/zero-white.stderr.log.expected diff --git a/test/error/bad-magic.stderr.log.expected b/test/error/bad-magic.stderr.log.expected new file mode 100644 index 0000000..4f61a07 --- /dev/null +++ b/test/error/bad-magic.stderr.log.expected @@ -0,0 +1 @@ +parse_header: magic number does not check out, stop diff --git a/test/error/empty-frame.stderr.log.expected b/test/error/empty-frame.stderr.log.expected new file mode 100644 index 0000000..4f61a07 --- /dev/null +++ b/test/error/empty-frame.stderr.log.expected @@ -0,0 +1 @@ +parse_header: magic number does not check out, stop diff --git a/test/error/header-mismatch.stderr.log.expected b/test/error/header-mismatch.stderr.log.expected new file mode 100644 index 0000000..41b503c --- /dev/null +++ b/test/error/header-mismatch.stderr.log.expected @@ -0,0 +1 @@ +Error: '../input/white-whiteval.pgm' doesn't have identical header to '../input/white.pgm', stop diff --git a/test/error/long-magic-token.stderr.log.expected b/test/error/long-magic-token.stderr.log.expected new file mode 100644 index 0000000..f747f09 --- /dev/null +++ b/test/error/long-magic-token.stderr.log.expected @@ -0,0 +1,2 @@ +read_token: token too large for buffer +parse_header: failed to read magic number diff --git a/test/error/non-positive-dimension.stderr.log.expected b/test/error/non-positive-dimension.stderr.log.expected new file mode 100644 index 0000000..200841a --- /dev/null +++ b/test/error/non-positive-dimension.stderr.log.expected @@ -0,0 +1 @@ +check_sanity: image dimensions must be positive diff --git a/test/error/not-square.stderr.log.expected b/test/error/not-square.stderr.log.expected new file mode 100644 index 0000000..05380e1 --- /dev/null +++ b/test/error/not-square.stderr.log.expected @@ -0,0 +1 @@ +check_sanity: 2 images of 300x100 cannot interlace to a square image 100x100 diff --git a/test/error/truncated-input.stderr.log.expected b/test/error/truncated-input.stderr.log.expected new file mode 100644 index 0000000..23d2a2d --- /dev/null +++ b/test/error/truncated-input.stderr.log.expected @@ -0,0 +1,2 @@ +Full image size will be 300x300, using 3 images +Unexpected EOF on file 0 at row 114; pgm input truncated? Stop. diff --git a/test/error/zero-white.stderr.log.expected b/test/error/zero-white.stderr.log.expected new file mode 100644 index 0000000..9ba023c --- /dev/null +++ b/test/error/zero-white.stderr.log.expected @@ -0,0 +1 @@ +check_sanity: white value must be positive diff --git a/test/test.sh b/test/test.sh index 6ca0d41..d916a5b 100755 --- a/test/test.sh +++ b/test/test.sh @@ -2,18 +2,18 @@ fail() { - echo -e '[\e[1;31mFAIL\e[0m] '$i + echo -e '[\e[1;31mFAIL\e[0m] '$i $@ } xfail() { - echo -e '[\e[1;35mXFAIL\e[0m] '$i + echo -e '[\e[1;35mXFAIL\e[0m] '$i $@ } pass() { - echo -e '[\e[0;32mPASS\e[0m] '$i + echo -e '[\e[0;32mPASS\e[0m] '$i $@ } ######################### @@ -30,12 +30,16 @@ for i in {pass,error,xfail}/*.sh ; do expected="$name.pgm.expected" out="$name.pgm.out" log="$name.stderr.log" + log_expected="$log.expected" ./$(basename $i) 2> "$log" result=$? if [ -f "$expected" ] ; then diff "$expected" "$out" result=$? fi + if [ -f "$log_expected" ] ; then + diff "$log_expected" "$log" || fail stderr doesn\'t match + fi case $test_type in pass) if [ $result -eq 0 ] ; then @@ -64,6 +68,6 @@ for i in {pass,error,xfail}/*.sh ; do ;; esac - rm -f "$out" "$log" + rm -f "$out" # "$log" popd > /dev/null done -- cgit v1.1