summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2014-03-18 18:23:05 +0000
committerCarl Hetherington <cth@carlh.net>2014-03-18 18:23:05 +0000
commit90c23c53318af92fc7e77d12a612eab619aff937 (patch)
tree442562be8f6fbe99b5ba82e8ebad8a0de858d350
parent8af7b48d8831cf348163a2f61c14b059cd67a8fd (diff)
Various test tidying.
-rwxr-xr-xrun/tests18
-rw-r--r--src/dcp.cc4
-rw-r--r--src/exceptions.cc2
-rw-r--r--test/test.cc6
-rw-r--r--tools/dcpinfo.cc2
5 files changed, 19 insertions, 13 deletions
diff --git a/run/tests b/run/tests
index 30b8d2b4..0bbc047b 100755
--- 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"
diff --git a/src/dcp.cc b/src/dcp.cc
index ae692256..7748a97f 100644
--- a/src/dcp.cc
+++ b/src/dcp.cc
@@ -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) {
diff --git a/src/exceptions.cc b/src/exceptions.cc
index 6a32a33f..951627a5 100644
--- a/src/exceptions.cc
+++ b/src/exceptions.cc
@@ -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)
{
diff --git a/test/test.cc b/test/test.cc
index 0f60e0f1..f51b0198 100644
--- a/test/test.cc
+++ b/test/test.cc
@@ -24,11 +24,16 @@
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";
diff --git a/tools/dcpinfo.cc b/tools/dcpinfo.cc
index 56d71f99..59e676f6 100644
--- a/tools/dcpinfo.cc
+++ b/tools/dcpinfo.cc
@@ -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 ();