1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- #!/bin/sh
- rm -rf gen || exit 1
- mkdir -p gen || exit 1
- while [ "$#" -gt 0 ]
- do
- name="$1"
- shift
- echo "# ${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
- gen="$(sha256sum "gen/${name}.${output}" | cut -d " " -f 1)"
- expected="$(sha256sum "expected/${name}.${output}" | cut -d " " -f 1)"
- if [ "${gen}" != "${expected}" ]
- then
- echo "# ${name}: ${output}: expected #"
- cat "expected/${name}.${output}"
- echo "# ${name}: ${output}: generated #"
- cat "gen/${name}.${output}"
- # FIXME: Make diff available on Redox
- if [ $(uname) != "Redox" ]
- then
- echo "# ${name}: ${output}: diff #"
- diff --color -u "expected/${name}.${output}" "gen/${name}.${output}"
- fi
- status="${status}, ${output} mismatch"
- fi
- done
- if [ "${status}" != "0" ]
- then
- echo "# ${name}: failed with status ${status} #"
- fi
- done
|