annotate test/regression.sh @ 69:c0b78dcc08e6 feature-alternatives tip

Some experimental feature adjustments - try using diffs between chroma cells (no better at first glance)
author Chris Cannam
date Fri, 16 Aug 2019 12:28:58 +0100
parents 69ab9a6e7aee
children
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@50 45 mkdir -p "$mydir/output"
Chris@50 46
Chris@45 47 VAMP_PATH="$mydir/.." \
Chris@46 48 time \
Chris@45 49 sonic-annotator \
Chris@48 50 -t "$mydir/tests.ttl" \
Chris@45 51 -w csv \
Chris@46 52 --csv-basedir "$mydir/output" \
Chris@45 53 --csv-force \
Chris@48 54 --csv-omit-filename \
Chris@45 55 --multiplex \
Chris@45 56 "$testfile" \
Chris@45 57 "$lowfile"
Chris@45 58
Chris@46 59 failed=""
Chris@46 60
Chris@46 61 for expected in "$mydir"/expected/*.csv ; do
Chris@46 62 outfile="$mydir"/output/$(basename $expected)
Chris@46 63 if cmp "$outfile" "$expected" ; then
Chris@46 64 echo "PASS: $outfile"
Chris@46 65 else
Chris@46 66 echo
Chris@46 67 echo "*** FAIL: Result does not match expected output. Diff follows:"
Chris@46 68 echo
Chris@46 69 sdiff -w 60 "$outfile" "$expected"
Chris@46 70 echo
Chris@46 71 failed="$failed $outfile"
Chris@46 72 fi
Chris@46 73 done
Chris@46 74
Chris@46 75 if [ -n "$failed" ]; then
Chris@46 76 echo "Some tests failed: $failed"
Chris@46 77 exit 1
Chris@46 78 else
Chris@46 79 echo "All tests passed"
Chris@45 80 exit 0
Chris@45 81 fi
Chris@45 82
Chris@45 83