fate-update.sh 977 B

123456789101112131415161718192021222324252627282930313233343536
  1. #! /bin/sh
  2. set -e
  3. base=$(dirname $0)
  4. ref="${base}/ref/fate"
  5. FATE_DB_URL="http://fate.multimedia.cx/fate-tests.sqlite.bz2"
  6. FATE_DB=$(mktemp fate-db.XXXXXX)
  7. SQL_TESTS='SELECT id,short_name,command FROM test_spec WHERE active=1 ORDER BY short_name'
  8. do_sql(){
  9. sqlite3 -noheader -separator ' ' "$FATE_DB" "$@"
  10. }
  11. wget -q -O - "$FATE_DB_URL" | bunzip2 > "$FATE_DB"
  12. rm -rf "$ref"
  13. mkdir -p "$ref"
  14. exec 3>"$base/fate.mak"
  15. do_sql "$SQL_TESTS" | while read id name command; do
  16. case "$name" in
  17. 00-full-regression|ffmpeg-help|binsize-*) continue ;;
  18. esac
  19. case "$command" in
  20. {MD5}*) command="${command#\{MD5\}} | do_md5sum | cut -c-32" ;;
  21. {*}*) continue ;;
  22. esac
  23. command=$(echo "$command" | sed 's/\$/$$/g')
  24. do_sql "SELECT expected_stdout FROM test_spec WHERE id=$id" | awk '/./{print}' > "$ref/$name"
  25. printf "FATE_TESTS += fate-${name}\n" >&3
  26. printf "fate-${name}: CMD = %s\n" "$command" >&3
  27. done
  28. exec 3<&-
  29. rm -f "$FATE_DB"