annotate export-tests/test-scripted-generation.sh @ 2574:0cbdd15a96f4

Ensure transforms are populated before trying to instantiate a plugin for one; add (export-style) test for this
author Chris Cannam
date Thu, 25 Jun 2020 13:32:23 +0100
parents
children
rev   line source
Chris@2574 1 #!/bin/bash
Chris@2574 2
Chris@2574 3 set -e
Chris@2574 4
Chris@2574 5 if [ -n "$1" ]; then
Chris@2574 6 echo "Usage: $0" 1>&2
Chris@2574 7 exit 2
Chris@2574 8 fi
Chris@2574 9
Chris@2574 10 set -u
Chris@2574 11
Chris@2574 12 sv="../sonic-visualiser"
Chris@2574 13 if [ ! -f "$sv" -o ! -x "$sv" ]; then
Chris@2574 14 echo "This script must be run from the sonic-visualiser/test directory" 1>&2
Chris@2574 15 exit 1
Chris@2574 16 fi
Chris@2574 17
Chris@2574 18 version=$("$sv" -v 2>&1 | grep -v App)
Chris@2574 19 adequate=no
Chris@2574 20 case "$version" in
Chris@2574 21 [0123].*) ;;
Chris@2574 22 4.0*) ;;
Chris@2574 23 [1-9]*) adequate=yes ;;
Chris@2574 24 *) echo "Failed to query Sonic Visualiser version" 1>&2
Chris@2574 25 exit 1 ;;
Chris@2574 26 esac
Chris@2574 27 if [ "$adequate" = "no" ]; then
Chris@2574 28 echo "Sonic Visualiser version must be at least 4.1 (supporting --osc-script option with standard input)" 1>&2
Chris@2574 29 exit 1
Chris@2574 30 fi
Chris@2574 31
Chris@2574 32 tmpdir=$(mktemp -d)
Chris@2574 33 trap "rm -rf $tmpdir" 0
Chris@2574 34
Chris@2574 35 for method in 1 2; do
Chris@2574 36
Chris@2574 37 echo "Testing method $method..."
Chris@2574 38
Chris@2574 39 actual="$tmpdir/3dplot.csv"
Chris@2574 40 expected="layers-expected/3dplot.csv"
Chris@2574 41
Chris@2574 42 rm -f "$actual"
Chris@2574 43
Chris@2574 44 if [ "$method" = "1" ]; then
Chris@2574 45 ( echo "/open s1.wav" ;
Chris@2574 46 echo "/transform vamp:qm-vamp-plugins:qm-keydetector:keystrength" ;
Chris@2574 47 echo "/exportlayer $actual" ;
Chris@2574 48 echo "/quit" ) |
Chris@2574 49 ../sonic-visualiser --osc-script -
Chris@2574 50 else
Chris@2574 51 ( echo "/transform vamp:qm-vamp-plugins:qm-keydetector:keystrength" ;
Chris@2574 52 echo "/exportlayer $actual" ;
Chris@2574 53 echo "/quit" ) |
Chris@2574 54 ../sonic-visualiser --osc-script - s1.wav
Chris@2574 55 fi
Chris@2574 56
Chris@2574 57 if ! cmp -s "$actual" "$expected" ; then
Chris@2574 58 echo
Chris@2574 59 echo "Test failed for method $method"
Chris@2574 60 echo
Chris@2574 61 echo "Actual:"
Chris@2574 62 ls -l "$actual"
Chris@2574 63 echo "Expected:"
Chris@2574 64 ls -l "$expected"
Chris@2574 65 echo
Chris@2574 66 echo "Diff begins:"
Chris@2574 67 git diff --no-index --word-diff=color --word-diff-regex=. "$actual" "$expected" | head
Chris@2574 68 echo
Chris@2574 69 fi
Chris@2574 70 done