summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2014-03-18 18:26:03 +0000
committerCarl Hetherington <cth@carlh.net>2014-03-18 18:26:03 +0000
commit77b0ffe6c50796b8fb132f56394995e0df089713 (patch)
treecf0e1ddde617605be10d6606c1f0587d6762061c
parent693fd6ddef3c4bb74c81bb9cf25bfdb79246f274 (diff)
parent90c23c53318af92fc7e77d12a612eab619aff937 (diff)
Merge master.
-rwxr-xr-xrun/tests39
-rw-r--r--src/exceptions.cc2
m---------test/private0
-rw-r--r--test/test.cc6
-rw-r--r--tools/dcpinfo.cc2
5 files changed, 29 insertions, 20 deletions
diff --git a/run/tests b/run/tests
index 1a028b67..0bbc047b 100755
--- 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 -s $d >> $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 -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"
diff --git a/src/exceptions.cc b/src/exceptions.cc
index e5a46948..7cfcd699 100644
--- a/src/exceptions.cc
+++ b/src/exceptions.cc
@@ -28,7 +28,7 @@ using std::string;
using namespace dcp;
FileError::FileError (string 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/private b/test/private
deleted file mode 160000
-Subproject b1b56652bd67e74817e02933412190b33d4823b
diff --git a/test/test.cc b/test/test.cc
index 0b56b903..995a5b23 100644
--- a/test/test.cc
+++ b/test/test.cc
@@ -25,11 +25,16 @@
using std::string;
+string private_test;
+
struct TestConfig
{
TestConfig()
{
dcp::init ();
+ if (boost::unit_test::framework::master_test_suite().argc >= 2) {
+ private_test = boost::unit_test::framework::master_test_suite().argv[1];
+ }
}
};
@@ -47,5 +52,4 @@ wav (dcp::Channel)
return "test/data/1s_24-bit_48k_silence.wav";
}
-string private_test = "test/private";
diff --git a/tools/dcpinfo.cc b/tools/dcpinfo.cc
index b76993bf..62751202 100644
--- a/tools/dcpinfo.cc
+++ b/tools/dcpinfo.cc
@@ -99,7 +99,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 ();