X-Git-Url: https://main.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=test%2Ftest.cc;h=c7a9e95bfd6f8d6a78eda143c4020f4d4bf458ce;hp=1080aec793f4ecd1b5f4efa9f9d5ccb33297e1e7;hb=a8a0dfd1b21de6c0facf965ab119833ff6f790bf;hpb=e60bb3e51bd1508b149e6b8f6608f09b5196ae26 diff --git a/test/test.cc b/test/test.cc index 1080aec79..c7a9e95bf 100644 --- a/test/test.cc +++ b/test/test.cc @@ -1,19 +1,20 @@ /* Copyright (C) 2012-2015 Carl Hetherington - This program is free software; you can redistribute it and/or modify + This file is part of DCP-o-matic. + + DCP-o-matic 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, + DCP-o-matic 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. + along with DCP-o-matic. If not, see . */ @@ -21,12 +22,6 @@ * @brief Overall test stuff and useful methods for tests. */ -#include -#include -#include -#include -#include -#include #include "lib/config.h" #include "lib/util.h" #include "lib/signal_manager.h" @@ -34,11 +29,20 @@ #include "lib/job_manager.h" #include "lib/job.h" #include "lib/cross.h" -#include "lib/server_finder.h" +#include "lib/encode_server_finder.h" #include "lib/image.h" +#include "lib/ratio.h" +#include "lib/log_entry.h" +#include +#include +#include +#include #define BOOST_TEST_DYN_LINK #define BOOST_TEST_MODULE dcpomatic_test #include +#include +#include +#include using std::string; using std::vector; @@ -75,8 +79,9 @@ struct TestConfig Config::instance()->set_default_dcp_content_type (static_cast (0)); Config::instance()->set_default_audio_delay (0); Config::instance()->set_default_j2k_bandwidth (100000000); + Config::instance()->set_log_types (LogEntry::TYPE_GENERAL | LogEntry::TYPE_WARNING | LogEntry::TYPE_ERROR); - ServerFinder::instance()->disable (); + EncodeServerFinder::instance()->disable (); signal_manager = new TestSignalManager (); } @@ -144,7 +149,11 @@ check_audio_file (boost::filesystem::path ref, boost::filesystem::path check) BOOST_CHECK_EQUAL (r, this_time); for (sf_count_t i = 0; i < this_time; ++i) { - BOOST_REQUIRE (abs (ref_buffer[i] - check_buffer[i]) <= 65536); + BOOST_REQUIRE_MESSAGE ( + abs (ref_buffer[i] - check_buffer[i]) <= 65536, + ref << " differs from " << check << " at " << (ref_info.frames - N + i) << " of " << ref_info.frames + << "(" << ref_buffer[i] << " vs " << check_buffer[i] << ")" + ); } N -= this_time; @@ -287,11 +296,10 @@ wait_for_jobs () { JobManager* jm = JobManager::instance (); while (jm->work_to_do ()) { - signal_manager->ui_idle (); + while (signal_manager->ui_idle ()) {} + dcpomatic_sleep (1); } - cout << "Waiting for jobs: all finished; errors=" << jm->errors() << ".\n"; - if (jm->errors ()) { int N = 0; for (list >::iterator i = jm->_jobs.begin(); i != jm->_jobs.end(); ++i) { @@ -310,13 +318,10 @@ wait_for_jobs () } } - signal_manager->ui_idle (); + while (signal_manager->ui_idle ()) {} if (jm->errors ()) { - cout << "Dropping JobManager\n"; JobManager::drop (); - } else { - cout << "Not dropping JobManager\n"; } }