| #! /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 |
| {MD5}*) |
| command="${command#*ffmpeg}"; command="${command% -}" |
| command="md5 $command" |
| ;; |
| {*}*) continue ;; |
| *-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" |
| ;; |
| *) |
| echo "Unhandled command '$command'" |
| exit 1 |
| ;; |
| esac |
| command=$(echo "$command" | sed 's/\$SAMPLES_PATH/$(SAMPLES)/g') |
| command=$(echo "$command" | sed 's/ *$//') |
| 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" |