Various test tidying.
authorCarl Hetherington <cth@carlh.net>
Tue, 18 Mar 2014 18:23:05 +0000 (18:23 +0000)
committerCarl Hetherington <cth@carlh.net>
Tue, 18 Mar 2014 18:23:05 +0000 (18:23 +0000)
run/tests
src/dcp.cc
src/exceptions.cc
test/test.cc
tools/dcpinfo.cc

index 30b8d2b4be1b93fcee113369d68a0f85edcc0e16..0bbc047b412e18a7301286ecdfebc76fb21fded7 100755 (executable)
--- a/run/tests
+++ b/run/tests
@@ -6,20 +6,21 @@
 # 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
 
 # Check a MXF written by the unit tests
@@ -54,7 +55,7 @@ fi
 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
@@ -73,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 -s $d >> $work/info2.log
     fi
 done
 
@@ -93,6 +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
 
 echo "PASS"
index ae69225616a07d4ed276859c14f9032e67f28031..7748a97f94ef52ba043c2b157ea5b6082abe5b58 100644 (file)
@@ -228,12 +228,12 @@ DCP::read_assets ()
                        if (boost::filesystem::exists (p)) {
                                asset_map.reset (new libdcp::parse::AssetMap (p.string ()));
                        } else {
-                               boost::throw_exception (DCPReadError ("could not find AssetMap file"));
+                               boost::throw_exception (FileError ("could not find AssetMap file", p, -1));
                        }
                }
                
        } catch (FileError& e) {
-               boost::throw_exception (FileError ("could not load AssetMap file", _files.asset_map, e.number ()));
+               boost::throw_exception (FileError ("could not load AssetMap file", e.filename(), e.number ()));
        }
 
        for (list<shared_ptr<libdcp::parse::AssetMapAsset> >::const_iterator i = asset_map->assets.begin(); i != asset_map->assets.end(); ++i) {
index 6a32a33f740bc854c274c2819ca40160e4e7611e..951627a5afe65e55e034696067c7ed75dc7bbde6 100644 (file)
@@ -24,7 +24,7 @@ using std::string;
 using namespace libdcp;
 
 FileError::FileError (std::string const & message, boost::filesystem::path filename, int number)
-       : _message (String::compose ("%1 (error %2) (%3)", message, filename.string(), number))
+       : _message (String::compose ("%1 (%2) (error %3)", message, filename.string(), number))
        , _filename (filename)
        , _number (number)
 {
index 0f60e0f1a36219fee8ca88d143901845d9bfc1f7..f51b019894db8a505c8c2ae0640f0b199078261a 100644 (file)
 
 using std::string;
 
+string private_test;
+
 struct TestConfig
 {
        TestConfig()
        {
                libdcp::init ();
+               if (boost::unit_test::framework::master_test_suite().argc >= 2) {
+                       private_test = boost::unit_test::framework::master_test_suite().argv[1];
+               }
        }
 };
 
@@ -46,5 +51,4 @@ wav (libdcp::Channel)
        return "test/data/1s_24-bit_48k_silence.wav";
 }
 
-string private_test = "../libdcp-test-private";
 
index 56d71f9934359b9f4842b6087c8a0e091544a44b..59e676f69dd7f3354f60ca7cc26255630aad78cd 100644 (file)
@@ -76,7 +76,7 @@ main (int argc, char* argv[])
                exit (EXIT_FAILURE);
        }
 
-       cout << "DCP: " << argv[optind] << "\n";
+       cout << "DCP: " << boost::filesystem::path(argv[optind]).filename().string() << "\n";
 
        list<shared_ptr<CPL> > cpls = dcp->cpls ();