2
0

verify.sh 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #!/bin/sh
  2. rm -rf gen || exit 1
  3. mkdir -p gen || exit 1
  4. while [ "$#" -gt 0 ]
  5. do
  6. name="$1"
  7. shift
  8. echo "# ${name} #"
  9. mkdir -p "gen/$(dirname ${name})" || exit 1
  10. "bins/${name}" test args > "gen/${name}.stdout" 2> "gen/${name}.stderr"
  11. status="$?"
  12. for output in stdout stderr
  13. do
  14. gen="$(sha256sum "gen/${name}.${output}" | cut -d " " -f 1)"
  15. expected="$(sha256sum "expected/${name}.${output}" | cut -d " " -f 1)"
  16. if [ "${gen}" != "${expected}" ]
  17. then
  18. echo "# ${name}: ${output}: expected #"
  19. cat "expected/${name}.${output}"
  20. echo "# ${name}: ${output}: generated #"
  21. cat "gen/${name}.${output}"
  22. # FIXME: Make diff available on Redox
  23. if [ $(uname) != "Redox" ]
  24. then
  25. echo "# ${name}: ${output}: diff #"
  26. diff --color -u "expected/${name}.${output}" "gen/${name}.${output}"
  27. fi
  28. status="${status}, ${output} mismatch"
  29. fi
  30. done
  31. if [ "${status}" != "0" ]
  32. then
  33. echo "# ${name}: failed with status ${status} #"
  34. fi
  35. done