From: Carl Hetherington Date: Tue, 4 Jun 2013 10:26:47 +0000 (+0100) Subject: A few more test fixes. X-Git-Tag: v2.0.48~1337^2~327 X-Git-Url: https://main.carlh.net/gitweb/?a=commitdiff_plain;h=75de8898265611a4fc7068c40668ca697e6c1864;p=dcpomatic.git A few more test fixes. --- diff --git a/test/dcp_test.cc b/test/dcp_test.cc deleted file mode 100644 index 0729e8cb7..000000000 --- a/test/dcp_test.cc +++ /dev/null @@ -1,58 +0,0 @@ -/* - Copyright (C) 2012 Carl Hetherington - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -*/ - -BOOST_AUTO_TEST_CASE (make_dcp_test) -{ - shared_ptr film = new_test_film ("make_dcp_test"); - film->set_name ("test_film2"); - shared_ptr c (new FFmpegContent (film, "test/data/test.mp4")); - c->set_ratio (Ratio::from_id ("185")); - film->examine_and_add_content (c); - - /* Wait for the examine to finish */ - while (JobManager::instance()->work_to_do ()) { - dcpomatic_sleep (1); - } - - BOOST_CHECK_EQUAL (JobManager::instance()->errors(), false); - - film->set_container (Ratio::from_id ("185")); - film->set_dcp_content_type (DCPContentType::from_pretty_name ("Test")); - film->make_dcp (); - film->write_metadata (); - - while (JobManager::instance()->work_to_do ()) { - dcpomatic_sleep (1); - } - - BOOST_CHECK_EQUAL (JobManager::instance()->errors(), false); -} - -/** Test Film::have_dcp(). Requires the output from make_dcp_test above */ -BOOST_AUTO_TEST_CASE (have_dcp_test) -{ - boost::filesystem::path p = test_film_dir ("make_dcp_test"); - Film f (p.string ()); - BOOST_CHECK (f.have_dcp()); - - p /= f.dcp_name(); - p /= f.dcp_video_mxf_filename(); - boost::filesystem::remove (p); - BOOST_CHECK (!f.have_dcp ()); -} diff --git a/test/ffmpeg_dcp_test.cc b/test/ffmpeg_dcp_test.cc new file mode 100644 index 000000000..06cb56e7d --- /dev/null +++ b/test/ffmpeg_dcp_test.cc @@ -0,0 +1,63 @@ +/* + Copyright (C) 2012 Carl Hetherington + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +*/ + +/** @file test/ffmpeg_dcp_test.cc + * @brief Test scaling and black-padding of images from a still-image source. + */ + +BOOST_AUTO_TEST_CASE (ffmpeg_dcp_test) +{ + shared_ptr film = new_test_film ("ffmpeg_dcp_test"); + film->set_name ("test_film2"); + shared_ptr c (new FFmpegContent (film, "test/data/test.mp4")); + c->set_ratio (Ratio::from_id ("185")); + film->examine_and_add_content (c); + + /* Wait for the examine to finish */ + while (JobManager::instance()->work_to_do ()) { + dcpomatic_sleep (1); + } + + BOOST_CHECK_EQUAL (JobManager::instance()->errors(), false); + + film->set_container (Ratio::from_id ("185")); + film->set_dcp_content_type (DCPContentType::from_pretty_name ("Test")); + film->make_dcp (); + film->write_metadata (); + + while (JobManager::instance()->work_to_do ()) { + dcpomatic_sleep (1); + } + + BOOST_CHECK_EQUAL (JobManager::instance()->errors(), false); +} + +/** Test Film::have_dcp(). Requires the output from ffmpeg_dcp_test above */ +BOOST_AUTO_TEST_CASE (ffmpeg_have_dcp_test) +{ + boost::filesystem::path p = test_film_dir ("ffmpeg_dcp_test"); + shared_ptr f (new Film (p.string ())); + f->read_metadata (); + BOOST_CHECK (f->have_dcp()); + + p /= f->dcp_name(); + p /= f->dcp_video_mxf_filename(); + boost::filesystem::remove (p); + BOOST_CHECK (!f->have_dcp ()); +} diff --git a/test/test.cc b/test/test.cc index 7c7efd1a0..89cfa56df 100644 --- a/test/test.cc +++ b/test/test.cc @@ -159,7 +159,7 @@ check_dcp (string ref, string check) #include "film_metadata_test.cc" #include "stream_test.cc" #include "util_test.cc" -#include "dcp_test.cc" +#include "ffmpeg_dcp_test.cc" #include "frame_rate_test.cc" #include "job_test.cc" #include "client_server_test.cc"