# HG changeset patch # User Chris Cannam # Date 1562672065 -3600 # Node ID 0fec1c76c92bd30902433c74a1e1c8bc7c8ff0b8 # Parent dcfae9ef87def78ee221b60e960f4f998a873c83 Very simplistic regression test diff -r dcfae9ef87de -r 0fec1c76c92b test/expected.csv --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/expected.csv Tue Jul 09 12:34:25 2019 +0100 @@ -0,0 +1,1 @@ +0.000000000,-233 diff -r dcfae9ef87de -r 0fec1c76c92b test/regression.sh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/regression.sh Tue Jul 09 12:34:25 2019 +0100 @@ -0,0 +1,70 @@ +#!/bin/bash + +set -eu + +mydir=$(dirname "$0") + +source_url=https://code.soundsoftware.ac.uk/attachments/download/1698/Zweieck-Duell.ogg + +testfile="$mydir/input.ogg" +outfile="$mydir/output.csv" +expfile="$mydir/expected.csv" + +if sonic-annotator -v >/dev/null ; then + : +else + echo "Failed to find required binary sonic-annotator" + exit 1 +fi + +if oggdec -h >/dev/null ; then + : +else + echo "Failed to find required binary oggdec" + exit 1 +fi + +if rubberband -h 2>&1 | grep Particular >/dev/null ; then + : +else + echo "Failed to find required binary rubberband" + exit 1 +fi + +if wget --version >/dev/null ; then + wget -O "$testfile" "$source_url" +else + curl -o "$testfile" "$source_url" +fi + +wavfile=${testfile%%.ogg}.wav +lowfile=${testfile%%.ogg}-low.wav + +oggdec -o "$wavfile" "$testfile" + +rubberband -p -2.34 "$wavfile" "$lowfile" + +VAMP_PATH="$mydir/.." \ + sonic-annotator \ + -d vamp:tuning-difference:tuning-difference \ + -w csv \ + --csv-omit-filename \ + --csv-one-file "$outfile" \ + --csv-force \ + --multiplex \ + "$testfile" \ + "$lowfile" + +if cmp "$outfile" "$expfile" ; then + echo + echo PASS + exit 0 +else + echo + echo "*** FAIL: Result does not match expected output. Diff follows:" + echo + sdiff -w 60 "$outfile" "$expfile" + exit 1 +fi + +