X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=run%2Ftests;h=ca4df7c60587d106400f97e9889dee0deb4408e6;hb=134af470d2f35745548ec4c581c43af230187f15;hp=68af40a8322c9208a275ad8662f8823fb2da0a65;hpb=6425742f95a4c2e539061b29016a4a5bd10ac9ae;p=libdcp.git diff --git a/run/tests b/run/tests index 68af40a8..ca4df7c6 100755 --- a/run/tests +++ b/run/tests @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash # # Run our test suite. @@ -23,6 +23,9 @@ if [ "$1" == "--debug" ]; then elif [ "$1" == "--valgrind" ]; then shift valgrind --tool="memcheck" $work/tests $private +elif [ "$1" == "--callgrind" ]; then + shift + valgrind --tool="callgrind" $work/tests $private $* else $work/tests $private $* fi @@ -54,7 +57,7 @@ if [ "$?" != "0" ]; then echo "FAIL: files differ" exit 1 fi - + # Everything beyond this point needs $private to exist if [ ! -e "$private/info.log" ]; then echo "" @@ -68,7 +71,7 @@ fi rm -f $work/info.log for d in `find $private/metadata -mindepth 1 -maxdepth 1 -type d | sort -f -d`; do if [ `basename $d` != ".git" ]; then - $dcpinfo --ignore-missing-assets -k -s $d 2> /dev/null >> $work/info.log + $dcpinfo --ignore-missing-assets -k -s $d >> $work/info.log if [ "$?" != "0" ]; then echo "FAIL: dcpinfo failed for $d" exit 1 @@ -83,7 +86,7 @@ if [ "$?" != "0" ]; then exit 1 fi -# Copy $private into build/ then re-write the subtitles of every DCP using +# Copy $private into build/ then re-write the subtitles of every DCP using # $work/rewrite_subs. This tests round-trip of subtitle reading/writing. # Note that all the subs in $private/metadata are Interop. rm -f $work/info2.log @@ -111,4 +114,12 @@ fi # and check that they are right $dcpinfo -s $private/data/JourneyToJah_TLR-1_F_EN-DE-FR_CH_51_2K_LOK_20140225_DGL_SMPTE_OV >> $work/jah.log +# Parse some problematic subs and check that we get it right +run/test/subs_in_out $private/TunaBoat_Icelandic_Reel1_V1_8sec.xml > $work/tuna.xml +diff -q $private/TunaBoat_Icelandic_Reel1_V1_8sec.parsed.xml $work/tuna.xml +if [ "$?" != "0" ]; then + echo "FAIL: output of parse check 1 invalid" + exit 1 +fi + echo "PASS"