annotate tests/test-csv-destinations.sh @ 118:0fe5abb56a6e test-reorg

Pull more stuff up into include file
author Chris Cannam
date Wed, 08 Oct 2014 14:20:45 +0100
parents d40b62a2006f
children
rev   line source
Chris@50 1 #!/bin/bash
Chris@50 2
Chris@118 3 . test-include.sh
Chris@50 4
Chris@50 5 infile1=$mypath/audio/3clicks8.wav
Chris@50 6 infile2=$mypath/audio/6clicks8.wav
Chris@50 7
Chris@50 8 outfile1=$mypath/audio/3clicks8_vamp_vamp-example-plugins_percussiononsets_onsets.csv
Chris@50 9 outfile2=$mypath/audio/6clicks8_vamp_vamp-example-plugins_percussiononsets_onsets.csv
Chris@50 10
Chris@50 11 infile1dot=$mypath/audio/3.clicks.8.wav
Chris@50 12 outfile1dot=$mypath/audio/3.clicks.8_vamp_vamp-example-plugins_percussiononsets_onsets.csv
Chris@50 13
Chris@50 14 outfile3=$mypath/audio/3clicks8_vamp_vamp-example-plugins_percussiononsets_onsets.csv
Chris@50 15 outfile4=$mypath/audio/3clicks8_vamp_vamp-example-plugins_percussiononsets_detectionfunction.csv
Chris@50 16
Chris@50 17 tmpcsv=$mypath/tmp_1_$$.csv
Chris@50 18
Chris@50 19 trap "rm -f $tmpcsv $outfile1 $outfile2 $outfile3 $outfile4 $infile1dot $outfile1dot" 0
Chris@50 20
Chris@50 21 transformpfx=$mypath/transforms/transforms-rdf-writer-percussiononsets
Chris@50 22
Chris@50 23 check_csv() {
Chris@50 24 test -f $1 || \
Chris@50 25 fail "Fails to write output to expected location $1 for $2"
Chris@50 26 # every line must contain the same number of commas
Chris@50 27 formats=`awk -F, '{ print NF; }' $1 | sort | uniq | wc | awk '{ print $1 }'`
Chris@50 28 if [ "$formats" != "1" ]; then
Chris@50 29 fail "Output is not consistently formatted comma-separated file for $2"
Chris@50 30 fi
Chris@50 31 rm -f $1
Chris@50 32 }
Chris@50 33
Chris@50 34
Chris@50 35 ctx="onsets transform, one audio file, default CSV writer destination"
Chris@50 36
Chris@50 37 rm -f $outfile1
Chris@50 38
Chris@50 39 $r -t $transformpfx-onsets.n3 -w csv $infile1 2>/dev/null || \
Chris@50 40 fail "Fails to run with $ctx"
Chris@50 41
Chris@50 42 check_csv $outfile1 "$ctx"
Chris@50 43
Chris@50 44
Chris@50 45 ctx="onsets transform, one audio file with dots in filename, default CSV writer destination"
Chris@50 46
Chris@50 47 rm -f $outfile1
Chris@50 48
Chris@50 49 cp $infile1 $infile1dot
Chris@50 50
Chris@50 51 $r -t $transformpfx-onsets.n3 -w csv $infile1dot 2>/dev/null || \
Chris@50 52 fail "Fails to run with $ctx"
Chris@50 53
Chris@50 54 check_csv $outfile1dot "$ctx"
Chris@50 55
Chris@50 56 rm -f $infile1dot $outfile1dot
Chris@50 57
Chris@50 58
Chris@50 59 ctx="onsets and df transforms, one audio file, default CSV writer destination"
Chris@50 60
Chris@50 61 rm -f $outfile1
Chris@50 62
Chris@50 63 $r -t $transformpfx-onsets.n3 -t $transformpfx-detectionfunction.n3 -w csv $infile1 2>/dev/null || \
Chris@50 64 fail "Fails to run with $ctx"
Chris@50 65
Chris@50 66 check_csv $outfile1 "$ctx"
Chris@50 67
Chris@50 68
Chris@50 69 ctx="onsets transform, two audio files, default CSV writer destination"
Chris@50 70
Chris@50 71 rm -f $outfile1
Chris@50 72 rm -f $outfile2
Chris@50 73
Chris@50 74 $r -t $transformpfx-onsets.n3 -w csv $infile1 $infile2 2>/dev/null || \
Chris@50 75 fail "Fails to run with $ctx"
Chris@50 76
Chris@50 77 check_csv $outfile1 "$ctx"
Chris@50 78 check_csv $outfile2 "$ctx"
Chris@50 79
Chris@50 80
Chris@50 81 ctx="onsets transform, two audio files, one-file CSV writer"
Chris@50 82
Chris@50 83 $r -t $transformpfx-onsets.n3 -w csv --csv-one-file $tmpcsv $infile1 $infile2 2>/dev/null || \
Chris@50 84 fail "Fails to run with $ctx"
Chris@50 85
Chris@50 86 check_csv $tmpcsv "$ctx"
Chris@50 87
Chris@50 88
Chris@50 89 ctx="onsets transform, two audio files, stdout CSV writer"
Chris@50 90
Chris@50 91 $r -t $transformpfx-onsets.n3 -w csv --csv-stdout $infile1 $infile2 2>/dev/null >$tmpcsv || \
Chris@50 92 fail "Fails to run with $ctx"
Chris@50 93
Chris@50 94 check_csv $tmpcsv "$ctx"
Chris@50 95
Chris@50 96
Chris@50 97 ctx="existing output file and no --csv-force"
Chris@50 98
Chris@50 99 touch $outfile1
Chris@50 100
Chris@50 101 $r -t $transformpfx-onsets.n3 -w csv $infile1 2>/dev/null && \
Chris@50 102 fail "Fails by completing successfully when output file already exists (should refuse and bail out)"
Chris@50 103
Chris@50 104
Chris@50 105 ctx="existing output file and --csv-force"
Chris@50 106
Chris@50 107 touch $outfile1
Chris@50 108
Chris@50 109 $r -t $transformpfx-onsets.n3 -w csv --csv-force $infile1 2>/dev/null || \
Chris@50 110 fail "Fails to run with $ctx"
Chris@50 111
Chris@50 112 check_csv $outfile1 "$ctx"
Chris@50 113
Chris@50 114
Chris@50 115 exit 0