1# Utility functions and parameters for regression tests 2 3# Predefined directories you may need 4# Stupid CMU Facilities autoconf doesn't do @abs_top_builddir@ 5builddir="@top_builddir@" 6sourcedir="@top_srcdir@" 7sbtests="@sphinxbase@/test" 8tests="$sourcedir/src/tests/regression" 9programs="$builddir/src/programs" 10hmmdir="$sourcedir/model/hmm" 11lmdir="$sourcedir/model/lm" 12hub4am="$hmmdir/hub4_cd_continuous_8gau_1s_c_d_dd" 13an4lm="$lmdir/an4" 14 15# Automatically report failures on exit 16failures="" 17trap "report_failures" 0 18 19run_program() { 20 program="$1" 21 shift 22 $builddir/libtool --mode=execute "$programs/$program" $@ 23} 24 25debug_program() { 26 program="$1" 27 shift 28 $builddir/libtool --mode=execute gdb --args "$programs/$program" $@ 29} 30 31memcheck_program() { 32 program="$1" 33 shift 34 $builddir/libtool --mode=execute valgrind --leak-check=full "$programs/$program" $@ 35} 36 37pass() { 38 title="$1" 39 echo "$title PASSED" 40} 41 42fail() { 43 title="$1" 44 echo "$title FAILED" 45 failures="$failures,$title" 46} 47 48compare_table() { 49 title="$1" 50 shift 51 if perl "$sbtests/compare_table.pl" $@ | grep SUCCESS >/dev/null 2>&1; then 52 pass "$title" 53 else 54 fail "$title" 55 fi 56} 57 58report_failures() { 59 if test x"$failures" = x; then 60 echo "All sub-tests passed" 61 exit 0 62 else 63 echo "Sub-tests failed:$failures" | sed -e 's/,/ /g' 64 exit 1 65 fi 66} 67