Mercurial > hg > sonic-annotator
diff tests/test-multiple-audio.sh @ 117:5be4995f4029
Tests (and minor resulting fixes) for remote file download
author | Chris Cannam |
---|---|
date | Wed, 08 Oct 2014 13:14:39 +0100 |
parents | 74f7ad72fee6 |
children | 0fe5abb56a6e |
line wrap: on
line diff
--- a/tests/test-multiple-audio.sh Fri Oct 03 15:42:55 2014 +0100 +++ b/tests/test-multiple-audio.sh Wed Oct 08 13:14:39 2014 +0100 @@ -11,6 +11,11 @@ transform=$mypath/transforms/transforms-summaries-percussiononsets-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 @@ -22,18 +27,25 @@ csvcompare $tmpfile $expected.csv || \ faildiff "Output mismatch for transform $transform with summaries and recursive dir option" $tmpfile $expected.csv -# Here we remove any leading path from the audio file in the output, + +# 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 $mypath/audio/playlist.m3u --summary-only 2>/dev/null | sed 's,^"\.*/[^"]*/,",' > $tmpfile || \ +$r -t $transform -w csv --csv-stdout $mypath/audio/playlist.m3u --summary-only 2>/dev/null | sed 's,^"[^"]*/,",' > $tmpfile || \ fail "Fails to run transform $transform with playlist input" expected=$mypath/expected/transforms-summaries-percussiononsets-playlist csvcompare $tmpfile $expected.csv || \ faildiff "Output mismatch for transform $transform with summaries and playlist input" $tmpfile $expected.csv -# Same here, just so we can use the same output comparison file as above -$r -t $transform -w csv --csv-stdout $mypath/audio/3clicks8.wav $mypath/audio/6clicks8.wav --summary-only 2>/dev/null | sed 's,^"\.*/[^"]*/,",' > $tmpfile || \ + +# 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 $mypath/audio/3clicks.mp3 $mypath/audio/6clicks.ogg --summary-only 2>/dev/null | sed 's,^"[^"]*/,",' > $tmpfile || \ fail "Fails to run transform $transform with 2-file input" expected=$mypath/expected/transforms-summaries-percussiononsets-playlist @@ -41,4 +53,42 @@ 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/transforms-summaries-percussiononsets-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 $mypath/audio/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/transforms-summaries-percussiononsets-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/transforms-summaries-percussiononsets-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 $mypath/audio/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/transforms-summaries-percussiononsets-playlist +csvcompare $tmpfile $expected.csv || \ + faildiff "Output mismatch for transform $transform with summaries and mixed local/remote 2-file input" $tmpfile $expected.csv +