# in test/ref/DCP, and an error is given
# if anything is different.
-private=test/private
+private=../libdcp-test-private
work=build/test
+dcpinfo=build/tools/dcpinfo
export LD_LIBRARY_PATH=build/src:build/asdcplib/src
# Run the unit tests in test/
if [ "$1" == "--debug" ]; then
shift
- gdb --args $work/tests
+ gdb --args $work/tests $private
elif [ "$1" == "--valgrind" ]; then
shift
- valgrind --tool="memcheck" $work/tests
+ valgrind --tool="memcheck" $work/tests $private
else
- $work/tests $*
+ $work/tests $private $*
fi
-if [ ! -e "test/private/info.log" ]; then
- echo "Private data not found: some tests will not run"
+# Check a MXF written by the unit tests
+diff $work/baz/video1.mxf $work/baz/video2.mxf
+if [ "$?" != "0" ]; then
+ echo "FAIL: MXFs from recovery incorrect"
+ exit 1
fi
# Check the first DCP written by the unit tests
echo "FAIL: files differ"
exit 1
fi
+
+# Everything beyond this point needs $private to exist
+if [ ! -e "$private/info.log" ]; then
+ echo ""
+ echo "Private data not found: some tests will not run."
+ exit 1
+fi
# Run dcpinfo on all the DCPs in private/metadata, writing $work/info.log
rm -f $work/info.log
for d in `find $private/metadata -mindepth 1 -maxdepth 1 -type d | sort`; do
if [ `basename $d` != ".git" ]; then
- build/tools/dcpinfo -s $d >> $work/info.log
+ $dcpinfo -s $d >> $work/info.log
if [ "$?" != "0" ]; then
echo "FAIL: dcpinfo failed for $d"
exit 1
# $work/rewrite_subs. This tests round-trip of subtitle reading/writing.
rm -f $work/info2.log
rm -rf $work/private
-cp -r $private $work
+mkdir $work/private
+cp -r $private/* $work/private
for d in `find $work/private/metadata -mindepth 1 -maxdepth 1 -type d | sort`; do
if [ `basename $d` != ".git" ]; then
$work/rewrite_subs $d
- build/tools/dcpinfo -s $d >> $work/info2.log
+ $dcpinfo -s $d >> $work/info2.log
fi
done
# Dump the subs of JourneyToJah... (which has MXF-wrapped subtitles)
# and check that they are right
-build/tools/dcpinfo -s $private/JourneyToJah_TLR-1_F_EN-DE-FR_CH_51_2K_LOK_20140225_DGL_SMPTE_OV >> $work/jah.log
+$dcpinfo -s $private/JourneyToJah_TLR-1_F_EN-DE-FR_CH_51_2K_LOK_20140225_DGL_SMPTE_OV >> $work/jah.log
-# Check a MXF written by the unit tests
-diff $work/baz/video1.mxf $work/baz/video2.mxf
-if [ "$?" != "0" ]; then
- echo "FAIL: MXFs from recovery incorrect"
- exit 1
-fi
-
echo "PASS"