Add method to return frames as RGB to a given buffer.
[libdcp.git] / run / tests
index 1a028b67874c5650839f262417a17f2c89e3e851..5113b3afab3cfadafe969698823b2981bfc2d96d 100755 (executable)
--- a/run/tests
+++ b/run/tests
@@ -6,24 +6,28 @@
 # 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
@@ -39,12 +43,19 @@ 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 ""
+    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 --ignore-missing-assets -k -s $d 2> /dev/null >> $work/info.log
         if [ "$?" != "0" ]; then
             echo "FAIL: dcpinfo failed for $d"
             exit 1
@@ -63,11 +74,12 @@ fi
 # $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 --ignore-missing-assets -k -s $d >> $work/info2.log
     fi
 done
 
@@ -83,13 +95,6 @@ fi
 
 # 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"