#! /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"