annotate tests/test-audioformat/test-audioformat.sh @ 121:5200446bbc6b test-reorg

Check for multiple transforms. But one of these tests fails, so we'd better go back to development branch and sort out why!
author Chris Cannam
date Wed, 08 Oct 2014 15:38:34 +0100
parents 7a31201dc42d
children e6379b2e1c5c
rev   line source
Chris@0 1 #!/bin/bash
Chris@0 2
Chris@119 3 . ../include.sh
Chris@0 4
Chris@119 5 inbase=$audiopath/3clicks
Chris@0 6 tmpfile1=$mypath/tmp_1_$$
Chris@0 7 tmpfile2=$mypath/tmp_2_$$
Chris@0 8
Chris@0 9 trap "rm -f $tmpfile1 $tmpfile2" 0
Chris@0 10
Chris@0 11 for extension in wav ogg mp3 ; do
Chris@0 12
Chris@119 13 transform=$mypath/transforms/percussiononsets.n3
Chris@119 14 expected=$mypath/expected/percussiononsets-$extension.csv
Chris@0 15
Chris@0 16 test -f $transform || \
Chris@119 17 fail "Internal error: no transforms file"
Chris@0 18
Chris@0 19 test -f $expected || \
Chris@119 20 fail "Internal error: no expected output file for extension $extension"
Chris@0 21
Chris@0 22 infile=$inbase.$extension
Chris@0 23 if [ "$extension" = "wav" ]; then infile=${inbase}8.$extension; fi
Chris@0 24
Chris@0 25 test -f $infile || \
Chris@0 26 fail "Internal error: no input audio file for extension $extension"
Chris@0 27
Chris@0 28 $r -t $transform -w csv --csv-stdout $infile > $tmpfile2 2>/dev/null || \
Chris@0 29 fail "Fails to run transform $transform against audio file $infile"
Chris@0 30
Chris@0 31 if [ "$extension" = "wav" ]; then
Chris@28 32 csvcompare $tmpfile2 $expected || \
Chris@118 33 faildiff "Output mismatch for transform $transform with audio file $infile" $tmpfile2 $expected
Chris@0 34 else
Chris@28 35 csvcompare $tmpfile2 $expected || \
Chris@0 36 ( echo "NOTE: Output mismatch for transform $transform with audio file $infile" ; \
Chris@0 37 echo "This may be the result of differences in the audio file decoder, so I am not" ; \
Chris@0 38 echo "failing the test, but I recommend that you check the results." )
Chris@0 39 fi
Chris@0 40 done
Chris@0 41
Chris@0 42 exit 0