Mercurial > hg > tuning-difference
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 |