X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=run%2Ftests;h=67b84a88b6fd20b62fabdef7ca7101282e31c6fc;hb=5dda5d997e389052b63f422776aa205434789751;hp=8f12e53618b48a8fe0afc8a9f49feab8cc5e5007;hpb=42a65cba0d8da23c12af52015e66cd9dc0b5a5fa;p=libdcp.git diff --git a/run/tests b/run/tests index 8f12e536..67b84a88 100755 --- a/run/tests +++ b/run/tests @@ -1,4 +1,4 @@ -#!/bin/bash -e +#!/bin/bash # # Run our test suite. @@ -9,7 +9,7 @@ work=build/test # Path to dcpinfo tool dcpinfo=build/tools/dcpinfo -export LD_LIBRARY_PATH=build/src:build/asdcplib/src:$LD_LIBRARY_PATH +export LD_LIBRARY_PATH=build/src:build/asdcplib/src:/home/c.hetherington/lib:$LD_LIBRARY_PATH # Make sure we have the required tools for c in xmlsec1 xmldiff; do @@ -19,12 +19,19 @@ done # Run the unit tests in test/ if [ "$1" == "--debug" ]; then shift - gdb --args $work/tests $private + gdb --args $work/tests $private $* 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 $* + if [ "$?" != "0" ]; then + echo "FAIL: unit tests" + exit 1 + fi fi # Check a MXF written by the unit tests @@ -48,13 +55,20 @@ if [ "$?" != "0" ]; then exit 1 fi +# Check the DCP written by dcp_test5 +diff -ur test/ref/DCP/dcp_test5 $work/DCP/dcp_test5 +if [ "$?" != "0" ]; then + echo "FAIL: files differ" + exit 1 +fi + # Check the DCP written by encryption_test diff -ur test/ref/DCP/encryption_test $work/DCP/encryption_test 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 +82,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 +97,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,8 +125,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 -# Rewrite the subs of JourneyToJah... -#cp -r $private/data/JourneyToJah_TLR-1_F_EN-DE-FR_CH_51_2K_LOK_20140225_DGL_SMPTE_OV $work/ -#$work/rewrite_subs $WORK/Jou +# 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"