fate-run.sh 636 B

12345678910111213141516171819202122232425262728293031323334
  1. #! /bin/sh
  2. base=$(dirname $0)
  3. . "${base}/md5.sh"
  4. test="${1#fate-}"
  5. SAMPLES_PATH=$2
  6. target_exec=$3
  7. BUILD_PATH=$4
  8. command=$5
  9. cmp=${6:-diff}
  10. ref=${7:-"${base}/ref/fate/${test}"}
  11. fuzz=$8
  12. outdir="tests/data/fate"
  13. outfile="${outdir}/${test}"
  14. oneoff(){
  15. psnr=$(tests/tiny_psnr "$1" "$2" 2 0 0)
  16. max=$(expr "$psnr" : '.*MAXDIFF: *\([0-9]*\)')
  17. if [ $max -gt ${3:-1} ]; then
  18. echo "$psnr"
  19. return 1
  20. fi
  21. }
  22. mkdir -p "$outdir"
  23. eval $target_exec $command > "$outfile" 2>/dev/null || exit
  24. case $cmp in
  25. diff) diff -u -w "$ref" "$outfile" ;;
  26. oneoff) oneoff "$ref" "$outfile" "$fuzz" ;;
  27. esac