Chris@135: #!/bin/bash Chris@135: Chris@149: set -u Chris@135: Chris@135: testdir=$(dirname "$0") Chris@147: rootdir="$testdir/../.." Chris@135: Chris@163: if [ ! -d "$rootdir/testdata" ]; then Chris@163: echo "No testdata directory here, skipping regression test" Chris@163: exit 0 Chris@163: fi Chris@163: Chris@135: if ! sonic-annotator -v >/dev/null ; then Chris@135: echo "No sonic-annotator available in PATH, skipping regression test" Chris@135: exit 0 Chris@135: fi Chris@135: Chris@135: echo "Running regression test..." Chris@135: Chris@147: for output in smoothedpitchtrack notes ; do Chris@149: for fixedlag in off on ; do Chris@135: Chris@149: flsuffix="" Chris@149: if [ "$fixedlag" = "on" ]; then Chris@149: flsuffix="-fixedlag" Chris@149: fi Chris@135: Chris@149: echo Chris@149: echo "Testing output $output with fixed-lag $fixedlag..." Chris@149: Chris@149: ( time ( VAMP_PATH="$rootdir" sonic-annotator \ Chris@149: -t "$testdir/transform-$output$flsuffix.ttl" \ Chris@149: -w csv --csv-stdout --csv-omit-filename \ Chris@149: "$rootdir/testdata/bob_02.wav" \ Chris@149: > "$testdir/obtained-$output$flsuffix.csv" \ Chris@149: 2> "$testdir/log-$output$flsuffix.txt" ) ) 2>&1 | \ Chris@149: grep -i real | \ Chris@149: sed 's/^real/Elapsed time/' Chris@149: Chris@149: if ! cmp -s "$testdir/expected-$output$flsuffix.csv" "$testdir/obtained-$output$flsuffix.csv" ; then Chris@149: echo "*** FAILED for output $output with fixed-lag $fixedlag, diff follows:" Chris@149: echo " (expected on left, obtained on right)" Chris@149: sdiff -w78 "$testdir/expected-$output$flsuffix.csv" "$testdir/obtained-$output$flsuffix.csv" Chris@149: else Chris@149: echo "Succeeded for output $output with fixed-lag $fixedlag" Chris@149: fi Chris@149: done Chris@147: done Chris@147: Chris@147: