File: reftest

package info (click to toggle)
musescore 2.0.3%2Bdfsg1-2
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 202,532 kB
  • ctags: 58,769
  • sloc: cpp: 257,595; xml: 172,226; ansic: 139,931; python: 6,565; sh: 6,383; perl: 423; makefile: 290; awk: 142; pascal: 67; sed: 3
file content (90 lines) | stat: -rwxr-xr-x 2,456 bytes parent folder | download | duplicates (11)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#!/bin/bash

# Linux
#MSCORE=../../build/mscore/mscore
# OS X terminal build
#MSCORE=../applebuild/mscore.app/Contents/MacOS/mscore
# OS X Xcode build
MSCORE=../build.xcode/mscore/Debug/mscore.app/Contents/MacOS/mscore

echo "-------------------------------------------------"
echo "Generate / Compare Regression Tests for MuseScore"
echo "-------------------------------------------------"
echo
$MSCORE -v
echo

testcount=0
failures=0

# test xml file against reference file
# $1 filename
# $2 directory
# $3 reference directory

rwtestXmlRef() {
      echo -n "testing load/save $1";
      REF=$3/$1
      $MSCORE $2/$1 -d -o mops.xml &> /dev/null
      if diff -q $REF mops.xml &> /dev/null; then
            echo -e "\r\t\t\t\t\t\t...OK";
      else
            echo -e "\r\t\t\t\t\t\t...FAILED";
            failures=$(($failures+1));
            echo "+++++++++DIFF++++++++++++++"
            diff $REF mops.xml
            echo "+++++++++++++++++++++++++++"
      fi
      rm mops.xml
      testcount=$(($testcount+1))
      }

generateRefs() {
      echo generateRefs $1 $2
      for f in `ls $1/*.xml | grep -v _ref | sort`; do
            r=`basename $f`
            echo "generating reference file $r"
            $MSCORE $1/$r -d -o $2/$r &> /dev/null
      done
      }

compareWithRefs() {
      for f in `ls $1/*.xml | grep -v _ref | sort`; do
            r=`basename $f`
            if [ -s $2/$r ]; then
                  # reference file exists and has a size greater than zero,
                  # test against it
                  # echo "testing file $r"
                  rwtestXmlRef $r $1 $2
            else
                  # reference file does not exist: skip this file
                  echo "skipping file $r"
            fi
      done
      }

usage() {
      echo "usage: $0 [gen | cmp] indir outdir"
      echo "gen runs all xml files in indir through MuseScore and generates reference files in outdir"
      echo "cmp runs all xml files in indir through MuseScore and compares with reference files in outdir"
      echo "indir and outdir must be different directories"
      echo
      exit 1
      }

if [ $# -eq 3 ]; then
      if [ "$2" == "$3" ]; then
            usage
      elif [ "$1" == "gen" ]; then
            generateRefs $2 $3
      elif [ "$1" == "cmp" ]; then
            compareWithRefs $2 $3
      else
            usage
      fi
else
      usage
fi

echo
echo "$testcount test(s), $failures failure(s)"