Mercurial > hg > sonic-annotator
diff tests/test-multiple-audio/test-multiple-audio.sh @ 119:7a31201dc42d test-reorg
Split out tests into individual directories, with simpler naming therein
author | Chris Cannam |
---|---|
date | Wed, 08 Oct 2014 15:08:57 +0100 |
parents | tests/test-multiple-audio.sh@0fe5abb56a6e |
children | 685e5cf3cb1d |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-multiple-audio/test-multiple-audio.sh Wed Oct 08 15:08:57 2014 +0100 @@ -0,0 +1,91 @@ +#!/bin/bash + +. ../include.sh + +tmpfile=$mypath/tmp_1_$$ + +trap "rm -f $tmpfile" 0 + +transform=$mypath/transforms/detectionfunction.n3 + +urlbase=http://vamp-plugins.org/sonic-annotator/testfiles + + +# 1. Recursive local directory + +# Note, the output here depends on all the audio files present -- we +# would have to regenerate it if we added more test audio files. Note +# that the -r flag is not supposed to pick up playlist files, only +# audio files +$r -t $transform -w csv --csv-stdout -r --summary-only $audiopath > $tmpfile 2>/dev/null || \ + fail "Fails to run transform $transform with recursive dir option" + +expected=$mypath/expected/all-files +csvcompare $tmpfile $expected.csv || \ + faildiff "Output mismatch for transform $transform with summaries and recursive dir option" $tmpfile $expected.csv + + +# 2. Local playlist file referring to local audio files + +# Here we strip any leading path from the audio file in the output, +# because the playlist reader will have resolved files to absolute +# paths and those will differ between systems +$r -t $transform -w csv --csv-stdout $audiopath/playlist.m3u --summary-only 2>/dev/null | sed 's,^"[^"]*/,",' > $tmpfile || \ + fail "Fails to run transform $transform with playlist input" + +expected=$mypath/expected/playlist +csvcompare $tmpfile $expected.csv || \ + faildiff "Output mismatch for transform $transform with summaries and playlist input" $tmpfile $expected.csv + + +# 3. Multiple files supplied directly on command line + +# Strip paths again, just so we can use the same output comparison +# file as above +$r -t $transform -w csv --csv-stdout $audiopath/3clicks.mp3 $audiopath/6clicks.ogg --summary-only 2>/dev/null | sed 's,^"[^"]*/,",' > $tmpfile || \ + fail "Fails to run transform $transform with 2-file input" + +expected=$mypath/expected/playlist +csvcompare $tmpfile $expected.csv || \ + faildiff "Output mismatch for transform $transform with summaries and 2-file input" $tmpfile $expected.csv + + +# 4. Remote playlist file referring to remote audio files + +$r -t $transform -w csv --csv-stdout $urlbase/playlist.m3u --summary-only 2>/dev/null | sed 's,^"[^"]*/,",' > $tmpfile || \ + fail "Fails to run transform $transform with remote playlist input" + +expected=$mypath/expected/playlist +csvcompare $tmpfile $expected.csv || \ + faildiff "Output mismatch for transform $transform with summaries and remote playlist input" $tmpfile $expected.csv + + +# 5. Local playlist file referring to mixture of remote and local audio files + +$r -t $transform -w csv --csv-stdout $audiopath/remote-playlist.m3u --summary-only 2>/dev/null | sed 's,^"[^"]*/,",' > $tmpfile || \ + fail "Fails to run transform $transform with playlist of remote files" + +expected=$mypath/expected/playlist +csvcompare $tmpfile $expected.csv || \ + faildiff "Output mismatch for transform $transform with summaries and remote playlist input" $tmpfile $expected.csv + + +# 6. Multiple remote files supplied directly on command line + +$r -t $transform -w csv --csv-stdout $urlbase/3clicks.mp3 $urlbase/6clicks.ogg --summary-only 2>/dev/null | sed 's,^"[^"]*/,",' > $tmpfile || \ + fail "Fails to run transform $transform with 2-file remote input" + +expected=$mypath/expected/playlist +csvcompare $tmpfile $expected.csv || \ + faildiff "Output mismatch for transform $transform with summaries and 2-file input" $tmpfile $expected.csv + + +# 7. Mixture of remote and local files supplied on command line + +$r -t $transform -w csv --csv-stdout $audiopath/3clicks.mp3 $urlbase/6clicks.ogg --summary-only 2>/dev/null | sed 's,^"[^"]*/,",' > $tmpfile || \ + fail "Fails to run transform $transform with 2-file remote input" + +expected=$mypath/expected/playlist +csvcompare $tmpfile $expected.csv || \ + faildiff "Output mismatch for transform $transform with summaries and mixed local/remote 2-file input" $tmpfile $expected.csv +