projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Supporter.
[dcpomatic.git]
/
test
/
test.cc
diff --git
a/test/test.cc
b/test/test.cc
index 060386089387c527c31376566cf2681aed8115fd..3ccfd2c35ea84dac9d503b8edc1fe7a4fada9433 100644
(file)
--- a/
test/test.cc
+++ b/
test/test.cc
@@
-1,19
+1,20
@@
/*
Copyright (C) 2012-2015 Carl Hetherington <cth@carlh.net>
/*
Copyright (C) 2012-2015 Carl Hetherington <cth@carlh.net>
- 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.
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
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 <http://www.gnu.org/licenses/>.
*/
*/
@@
-28,9
+29,10
@@
#include "lib/job_manager.h"
#include "lib/job.h"
#include "lib/cross.h"
#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/image.h"
#include "lib/ratio.h"
+#include "lib/log_entry.h"
#include <dcp/dcp.h>
#include <sndfile.h>
#include <libxml++/libxml++.h>
#include <dcp/dcp.h>
#include <sndfile.h>
#include <libxml++/libxml++.h>
@@
-40,6
+42,7
@@
#include <boost/test/unit_test.hpp>
#include <list>
#include <vector>
#include <boost/test/unit_test.hpp>
#include <list>
#include <vector>
+#include <iostream>
using std::string;
using std::vector;
using std::string;
using std::vector;
@@
-76,8
+79,9
@@
struct TestConfig
Config::instance()->set_default_dcp_content_type (static_cast<DCPContentType*> (0));
Config::instance()->set_default_audio_delay (0);
Config::instance()->set_default_j2k_bandwidth (100000000);
Config::instance()->set_default_dcp_content_type (static_cast<DCPContentType*> (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()->stop
();
signal_manager = new TestSignalManager ();
}
signal_manager = new TestSignalManager ();
}
@@
-148,6
+152,7
@@
check_audio_file (boost::filesystem::path ref, boost::filesystem::path check)
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
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] << ")"
);
}
);
}
@@
-169,7
+174,7
@@
check_file (boost::filesystem::path ref, boost::filesystem::path check)
uint8_t* ref_buffer = new uint8_t[buffer_size];
uint8_t* check_buffer = new uint8_t[buffer_size];
uint8_t* ref_buffer = new uint8_t[buffer_size];
uint8_t* check_buffer = new uint8_t[buffer_size];
-
SafeStringS
tream error;
+
locked_strings
tream error;
error << "File " << check.string() << " differs from reference " << ref.string();
while (N) {
error << "File " << check.string() << " differs from reference " << ref.string();
while (N) {
@@
-286,16
+291,15
@@
check_xml (boost::filesystem::path ref, boost::filesystem::path test, list<strin
check_xml (ref_root, test_root, ignore);
}
check_xml (ref_root, test_root, ignore);
}
-void
+bool
wait_for_jobs ()
{
JobManager* jm = JobManager::instance ();
while (jm->work_to_do ()) {
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<shared_ptr<Job> >::iterator i = jm->_jobs.begin(); i != jm->_jobs.end(); ++i) {
if (jm->errors ()) {
int N = 0;
for (list<shared_ptr<Job> >::iterator i = jm->_jobs.begin(); i != jm->_jobs.end(); ++i) {
@@
-314,14
+318,14
@@
wait_for_jobs ()
}
}
}
}
- signal_manager->ui_idle ();
+ while (signal_manager->ui_idle ()) {}
if (jm->errors ()) {
if (jm->errors ()) {
- cout << "Dropping JobManager\n";
JobManager::drop ();
JobManager::drop ();
- } else {
- cout << "Not dropping JobManager\n";
+ return true;
}
}
+
+ return false;
}
void
}
void