verify.sh 908 B

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