annotate tests/test-transforms-basic.sh @ 97:54565c08c197 start-duration

Add multi-output start-duration test (with different start and duration per output!), and clear out data from output files for tests that are not yet implemented so they don't accidentally succeed
author Chris Cannam
date Wed, 01 Oct 2014 09:27:21 +0100
parents 34b0c85258d0
children 526feaad5820
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@96 28 -start-and-duration \
Chris@0 29 -set-parameters \
Chris@0 30 -set-step-and-block-size \
Chris@0 31 -set-sample-rate \
Chris@51 32 -df-windowtype-default \
Chris@51 33 -df-windowtype-hanning \
Chris@51 34 -df-windowtype-hamming \
Chris@96 35 -df-start-and-duration \
Chris@55 36 -multiple-outputs \
Chris@0 37 ; do
Chris@0 38
Chris@0 39 for type in xml n3 ; do
Chris@0 40
Chris@0 41 transform=$mypath/transforms/transforms-basic-percussiononsets$suffix.$type
Chris@0 42 expected=$mypath/expected/transforms-basic-percussiononsets$suffix.csv
Chris@0 43
Chris@55 44 if [ ! -f $transform ]; then
Chris@55 45 if [ $type = "xml" ]; then
Chris@55 46 continue # not everything can be expressed in the XML
Chris@55 47 # format, e.g. the multiple output test can't
Chris@55 48 fi
Chris@55 49 fi
Chris@55 50
Chris@0 51 test -f $transform || \
Chris@51 52 fail "Internal error: no transforms file for suffix $suffix (looking for $transform)"
Chris@0 53
Chris@0 54 test -f $expected || \
Chris@51 55 fail "Internal error: no expected output file for suffix $suffix (looking for $expected)"
Chris@0 56
Chris@0 57 $r -t $transform -w csv --csv-stdout $infile > $tmpfile2 2>/dev/null || \
Chris@0 58 fail "Fails to run transform $transform"
Chris@0 59
Chris@28 60 csvcompare $tmpfile2 $expected || \
Chris@0 61 fail "Output mismatch for transform $transform"
Chris@0 62 done
Chris@0 63 done
Chris@0 64
Chris@0 65 exit 0
Chris@0 66