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