diff --git a/tests/verify.sh b/tests/verify.sh index 79aa82c20d4b4b5267123bcf139e12e71600d790..1f1bc2b67bb1ced1451d6eec8eefe71a36b04d92 100755 --- a/tests/verify.sh +++ b/tests/verify.sh @@ -1,9 +1,7 @@ #!/bin/sh -set -e - -rm -rf gen -mkdir -p gen +rm -rf gen || exit 1 +mkdir -p gen || exit 1 while [ "$#" -gt 0 ] do @@ -11,28 +9,30 @@ do shift echo "# ${name} #" - mkdir -p "gen/$(dirname ${name})" + mkdir -p "gen/$(dirname ${name})" || exit 1 + "bins/${name}" test args > "gen/${name}.stdout" 2> "gen/${name}.stderr" + status="$?" + for output in stdout stderr do - if [ "$(uname)" = "Redox" ] + gen="$(sha256sum "gen/${name}.${output}" | cut -d " " -f 1)" + expected="$(sha256sum "expected/${name}.${output}" | cut -d " " -f 1)" + if [ "${gen}" != "${expected}" ] then - gen="$(sha256sum "gen/${name}.${output}" | cut -d " " -f 1)" - expected="$(sha256sum "expected/${name}.${output}" | cut -d " " -f 1)" - if [ "$gen" != "$expected" ] - then - echo "# $output: $gen != $expected #" - - echo "# $output generated #" - cat "gen/${name}.${output}" - - echo "# $output expected #" - cat "expected/${name}.${output}" - - exit 1 - fi - else - diff -u "gen/${name}.${output}" "expected/${name}.${output}" + echo "# ${name}: ${output}: expected #" + cat "expected/${name}.${output}" + + echo "# ${name}: ${output}: generated #" + cat "gen/${name}.${output}" + + status="${status}, ${output} mismatch" fi done + + if [ "${status}" != "0" ] + then + echo "# ${name}: failed with status ${status} #" + exit 1 + fi done