#!/bin/sh

MODE="$1"

BINDIR="../.."
TEST_EXES="`cat tests.list | sed 's/#.*//'`"

echo "/* Automatically generated -- do not edit! */"
case $MODE in
    -r)
	echo "results RCDATA LOADONCALL DISCARDABLE \"results.html\""
    ;;
    -t)
	echo "#define DECLARE_TEST(test) { #test, sizeof(subtests_for_ ## test)/sizeof(char *), subtests_for_ ## test } "
	echo "struct wine_test wine_tests[] = {"
    ;;
esac

for test in $TEST_EXES; do
    testname=`basename $test .exe`
    filename="$BINDIR/$test.so"
    case $MODE in
	-r)
	    strip -s "$filename"
	    echo "$testname RCDATA LOADONCALL DISCARDABLE \"$filename\""
	;;
	-s)
	    echo "const char* subtests_for_$testname[] = {"
	    wine "$filename" | sed -n '/^Valid/,$p' | sed '1d;s/    \(.*\)/    "\1",/'
	    echo "};"
	;;
	-t)
	    echo "    DECLARE_TEST($testname),"
	;;
    esac
done

case $MODE in
    -t)
	echo "    { 0 }"
	echo "};"
    ;;
esac

