Mercurial > hg > sonic-annotator
annotate tests/test-transforms-basic.sh @ 24:18c42fbc1335
* Various fixes: ensure CSV feature writer closes files when finished with
(rather than at end of run) to avoid running out of fds; bail properly
with an exception with CSV writer can't write to output file; and other
minor things
author | Chris Cannam |
---|---|
date | Tue, 08 Sep 2009 16:51:24 +0000 |
parents | 03a02c1f0a9f |
children | 102bb1729184 |
rev | line source |
---|---|
Chris@0 | 1 #!/bin/bash |
Chris@0 | 2 |
Chris@0 | 3 mypath=`dirname $0` |
Chris@3 | 4 r=$mypath/../runner/sonic-annotator |
Chris@0 | 5 |
Chris@0 | 6 infile=$mypath/audio/3clicks8.wav |
Chris@0 | 7 testplug=vamp:vamp-example-plugins:percussiononsets |
Chris@0 | 8 tmpfile1=$mypath/tmp_1_$$ |
Chris@0 | 9 tmpfile2=$mypath/tmp_2_$$ |
Chris@0 | 10 |
Chris@0 | 11 trap "rm -f $tmpfile1 $tmpfile2" 0 |
Chris@0 | 12 |
Chris@0 | 13 fail() { |
Chris@0 | 14 echo "Test failed: $1" |
Chris@0 | 15 exit 1 |
Chris@0 | 16 } |
Chris@0 | 17 |
Chris@0 | 18 $r --skeleton $testplug > $tmpfile1 2>/dev/null || \ |
Chris@0 | 19 fail "Fails to run with --skeleton $testplug" |
Chris@0 | 20 |
Chris@0 | 21 $r -t $tmpfile1 -w csv --csv-stdout $infile > $tmpfile2 2>/dev/null || \ |
Chris@0 | 22 fail "Fails to run with -t $tmpfile -w csv --csv-stdout $infile" |
Chris@0 | 23 |
Chris@0 | 24 cmp -s $tmpfile2 $mypath/expected/transforms-basic-skeleton-1.csv || \ |
Chris@0 | 25 fail "Output mismatch for transforms-basic-skeleton-1.csv" |
Chris@0 | 26 |
Chris@0 | 27 for suffix in \ |
Chris@0 | 28 -no-parameters-default-output \ |
Chris@0 | 29 -no-parameters \ |
Chris@0 | 30 "" \ |
Chris@0 | 31 -set-parameters \ |
Chris@0 | 32 -set-step-and-block-size \ |
Chris@0 | 33 -set-sample-rate \ |
Chris@0 | 34 ; do |
Chris@0 | 35 |
Chris@0 | 36 for type in xml n3 ; do |
Chris@0 | 37 |
Chris@0 | 38 transform=$mypath/transforms/transforms-basic-percussiononsets$suffix.$type |
Chris@0 | 39 expected=$mypath/expected/transforms-basic-percussiononsets$suffix.csv |
Chris@0 | 40 |
Chris@0 | 41 test -f $transform || \ |
Chris@0 | 42 fail "Internal error: no transforms file for suffix $suffix" |
Chris@0 | 43 |
Chris@0 | 44 test -f $expected || \ |
Chris@0 | 45 fail "Internal error: no expected output file for suffix $suffix" |
Chris@0 | 46 |
Chris@0 | 47 $r -t $transform -w csv --csv-stdout $infile > $tmpfile2 2>/dev/null || \ |
Chris@0 | 48 fail "Fails to run transform $transform" |
Chris@0 | 49 |
Chris@0 | 50 cmp -s $tmpfile2 $expected || \ |
Chris@0 | 51 fail "Output mismatch for transform $transform" |
Chris@0 | 52 done |
Chris@0 | 53 done |
Chris@0 | 54 |
Chris@0 | 55 exit 0 |
Chris@0 | 56 |