annotate test/regression.sh @ 48:3b1b966d8f49

Minor fixes, expand tests, and update RDF description
author Chris Cannam
date Wed, 10 Jul 2019 12:00:28 +0100
parents 1623751c4549
children 69ab9a6e7aee
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
Chris@45 11 if sonic-annotator -v >/dev/null ; then
Chris@45 12 :
Chris@45 13 else
Chris@45 14 echo "Failed to find required binary sonic-annotator"
Chris@45 15 exit 1
Chris@45 16 fi
Chris@45 17
Chris@45 18 if oggdec -h >/dev/null ; then
Chris@45 19 :
Chris@45 20 else
Chris@45 21 echo "Failed to find required binary oggdec"
Chris@45 22 exit 1
Chris@45 23 fi
Chris@45 24
Chris@45 25 if rubberband -h 2>&1 | grep Particular >/dev/null ; then
Chris@45 26 :
Chris@45 27 else
Chris@45 28 echo "Failed to find required binary rubberband"
Chris@45 29 exit 1
Chris@45 30 fi
Chris@45 31
Chris@45 32 if wget --version >/dev/null ; then
Chris@45 33 wget -O "$testfile" "$source_url"
Chris@45 34 else
Chris@45 35 curl -o "$testfile" "$source_url"
Chris@45 36 fi
Chris@45 37
Chris@45 38 wavfile=${testfile%%.ogg}.wav
Chris@45 39 lowfile=${testfile%%.ogg}-low.wav
Chris@45 40
Chris@45 41 oggdec -o "$wavfile" "$testfile"
Chris@45 42
Chris@45 43 rubberband -p -2.34 "$wavfile" "$lowfile"
Chris@45 44
Chris@45 45 VAMP_PATH="$mydir/.." \
Chris@46 46 time \
Chris@45 47 sonic-annotator \
Chris@48 48 -t "$mydir/tests.ttl" \
Chris@45 49 -w csv \
Chris@46 50 --csv-basedir "$mydir/output" \
Chris@45 51 --csv-force \
Chris@48 52 --csv-omit-filename \
Chris@45 53 --multiplex \
Chris@45 54 "$testfile" \
Chris@45 55 "$lowfile"
Chris@45 56
Chris@46 57 failed=""
Chris@46 58
Chris@46 59 for expected in "$mydir"/expected/*.csv ; do
Chris@46 60 outfile="$mydir"/output/$(basename $expected)
Chris@46 61 if cmp "$outfile" "$expected" ; then
Chris@46 62 echo "PASS: $outfile"
Chris@46 63 else
Chris@46 64 echo
Chris@46 65 echo "*** FAIL: Result does not match expected output. Diff follows:"
Chris@46 66 echo
Chris@46 67 sdiff -w 60 "$outfile" "$expected"
Chris@46 68 echo
Chris@46 69 failed="$failed $outfile"
Chris@46 70 fi
Chris@46 71 done
Chris@46 72
Chris@46 73 if [ -n "$failed" ]; then
Chris@46 74 echo "Some tests failed: $failed"
Chris@46 75 exit 1
Chris@46 76 else
Chris@46 77 echo "All tests passed"
Chris@45 78 exit 0
Chris@45 79 fi
Chris@45 80
Chris@45 81