annotate test/regression.sh @ 45:0fec1c76c92b

Very simplistic regression test
author Chris Cannam
date Tue, 09 Jul 2019 12:34:25 +0100
parents
children 1623751c4549
rev   line source
Chris@45 1 #!/bin/bash
Chris@45 2
Chris@45 3 set -eu
Chris@45 4
Chris@45 5 mydir=$(dirname "$0")
Chris@45 6
Chris@45 7 source_url=https://code.soundsoftware.ac.uk/attachments/download/1698/Zweieck-Duell.ogg
Chris@45 8
Chris@45 9 testfile="$mydir/input.ogg"
Chris@45 10 outfile="$mydir/output.csv"
Chris@45 11 expfile="$mydir/expected.csv"
Chris@45 12
Chris@45 13 if sonic-annotator -v >/dev/null ; then
Chris@45 14 :
Chris@45 15 else
Chris@45 16 echo "Failed to find required binary sonic-annotator"
Chris@45 17 exit 1
Chris@45 18 fi
Chris@45 19
Chris@45 20 if oggdec -h >/dev/null ; then
Chris@45 21 :
Chris@45 22 else
Chris@45 23 echo "Failed to find required binary oggdec"
Chris@45 24 exit 1
Chris@45 25 fi
Chris@45 26
Chris@45 27 if rubberband -h 2>&1 | grep Particular >/dev/null ; then
Chris@45 28 :
Chris@45 29 else
Chris@45 30 echo "Failed to find required binary rubberband"
Chris@45 31 exit 1
Chris@45 32 fi
Chris@45 33
Chris@45 34 if wget --version >/dev/null ; then
Chris@45 35 wget -O "$testfile" "$source_url"
Chris@45 36 else
Chris@45 37 curl -o "$testfile" "$source_url"
Chris@45 38 fi
Chris@45 39
Chris@45 40 wavfile=${testfile%%.ogg}.wav
Chris@45 41 lowfile=${testfile%%.ogg}-low.wav
Chris@45 42
Chris@45 43 oggdec -o "$wavfile" "$testfile"
Chris@45 44
Chris@45 45 rubberband -p -2.34 "$wavfile" "$lowfile"
Chris@45 46
Chris@45 47 VAMP_PATH="$mydir/.." \
Chris@45 48 sonic-annotator \
Chris@45 49 -d vamp:tuning-difference:tuning-difference \
Chris@45 50 -w csv \
Chris@45 51 --csv-omit-filename \
Chris@45 52 --csv-one-file "$outfile" \
Chris@45 53 --csv-force \
Chris@45 54 --multiplex \
Chris@45 55 "$testfile" \
Chris@45 56 "$lowfile"
Chris@45 57
Chris@45 58 if cmp "$outfile" "$expfile" ; then
Chris@45 59 echo
Chris@45 60 echo PASS
Chris@45 61 exit 0
Chris@45 62 else
Chris@45 63 echo
Chris@45 64 echo "*** FAIL: Result does not match expected output. Diff follows:"
Chris@45 65 echo
Chris@45 66 sdiff -w 60 "$outfile" "$expfile"
Chris@45 67 exit 1
Chris@45 68 fi
Chris@45 69
Chris@45 70