annotate tests/test-transforms-basic.sh @ 59:52b9d58edb78

Ensure expected output (as well as test output) gets canonicalised before comparison. The test in question still fails -- I think now only because of plugin output ordering changes (prior to svcore rev f3fd2988fc9b it also had picked up some incorrect output feature types)
author Chris Cannam
date Mon, 09 Jan 2012 16:30:44 +0000
parents 43d788236ed1
children 34b0c85258d0
rev   line source
Chris@0 1 #!/bin/bash
Chris@0 2
Chris@0 3 mypath=`dirname $0`
Chris@42 4 r=$mypath/../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@28 13 . test-include.sh
Chris@0 14
Chris@0 15 $r --skeleton $testplug > $tmpfile1 2>/dev/null || \
Chris@0 16 fail "Fails to run with --skeleton $testplug"
Chris@0 17
Chris@0 18 $r -t $tmpfile1 -w csv --csv-stdout $infile > $tmpfile2 2>/dev/null || \
Chris@0 19 fail "Fails to run with -t $tmpfile -w csv --csv-stdout $infile"
Chris@0 20
Chris@28 21 csvcompare $tmpfile2 $mypath/expected/transforms-basic-skeleton-1.csv || \
Chris@0 22 fail "Output mismatch for transforms-basic-skeleton-1.csv"
Chris@0 23
Chris@0 24 for suffix in \
Chris@0 25 -no-parameters-default-output \
Chris@0 26 -no-parameters \
Chris@0 27 "" \
Chris@0 28 -set-parameters \
Chris@0 29 -set-step-and-block-size \
Chris@0 30 -set-sample-rate \
Chris@51 31 -df-windowtype-default \
Chris@51 32 -df-windowtype-hanning \
Chris@51 33 -df-windowtype-hamming \
Chris@55 34 -multiple-outputs \
Chris@0 35 ; do
Chris@0 36
Chris@0 37 for type in xml n3 ; do
Chris@0 38
Chris@0 39 transform=$mypath/transforms/transforms-basic-percussiononsets$suffix.$type
Chris@0 40 expected=$mypath/expected/transforms-basic-percussiononsets$suffix.csv
Chris@0 41
Chris@55 42 if [ ! -f $transform ]; then
Chris@55 43 if [ $type = "xml" ]; then
Chris@55 44 continue # not everything can be expressed in the XML
Chris@55 45 # format, e.g. the multiple output test can't
Chris@55 46 fi
Chris@55 47 fi
Chris@55 48
Chris@0 49 test -f $transform || \
Chris@51 50 fail "Internal error: no transforms file for suffix $suffix (looking for $transform)"
Chris@0 51
Chris@0 52 test -f $expected || \
Chris@51 53 fail "Internal error: no expected output file for suffix $suffix (looking for $expected)"
Chris@0 54
Chris@0 55 $r -t $transform -w csv --csv-stdout $infile > $tmpfile2 2>/dev/null || \
Chris@0 56 fail "Fails to run transform $transform"
Chris@0 57
Chris@28 58 csvcompare $tmpfile2 $expected || \
Chris@0 59 fail "Output mismatch for transform $transform"
Chris@0 60 done
Chris@0 61 done
Chris@0 62
Chris@0 63 exit 0
Chris@0 64