tests/fate-update.sh
2fad0977
 #! /bin/sh
 
 set -e
 
 base=$(dirname $0)
 ref="${base}/ref/fate"
 
 FATE_DB_URL="http://fate.multimedia.cx/fate-tests.sqlite.bz2"
 FATE_DB=$(mktemp fate-db.XXXXXX)
 SQL_TESTS='SELECT id,short_name,command FROM test_spec WHERE active=1 ORDER BY short_name'
 
 do_sql(){
     sqlite3 -noheader -separator ' ' "$FATE_DB" "$@"
 }
 
 wget -q -O - "$FATE_DB_URL" | bunzip2 > "$FATE_DB"
 mkdir -p "$ref"
 exec 3>"$base/fate.mak"
 
 do_sql "$SQL_TESTS" | while read id name command; do
     case "$name" in
         00-full-regression|ffmpeg-help|binsize-*) continue ;;
     esac
     case "$command" in
f366a6de
         {MD5}*)
             command="${command#*ffmpeg}"; command="${command% -}"
             command="md5 $command"
             ;;
2fad0977
         {*}*)   continue ;;
f366a6de
         *-f\ framecrc\ -)
             command="${command#*ffmpeg}"; command="${command% -f *}"
             command="framecrc $command"
             ;;
         *-f\ framemd5\ -)
             command="${command#*ffmpeg}"; command="${command% -f *}"
             command="framemd5 $command"
             ;;
         *-f\ crc\ -)
             command="${command#*ffmpeg}"; command="${command% -f *}"
             command="crc $command"
             ;;
77cce79a
         *)
             echo "Unhandled command '$command'"
             exit 1
             ;;
2fad0977
     esac
d2f33c80
     command=$(echo "$command" | sed 's/\$SAMPLES_PATH/$(SAMPLES)/g')
f366a6de
     command=$(echo "$command" | sed 's/ *$//')
2fad0977
     do_sql "SELECT expected_stdout FROM test_spec WHERE id=$id" | awk '/./{print}' > "$ref/$name"
     printf "FATE_TESTS += fate-${name}\n" >&3
     printf "fate-${name}: CMD = %s\n" "$command" >&3
 done
 
 exec 3<&-
 rm -f "$FATE_DB"