/*
- Copyright (C) 2012 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
it under the terms of the GNU General Public License as published by
*/
+/** @file test/job_test.cc
+ * @brief Basic tests of Job and JobManager.
+ */
+
+#include <boost/test/unit_test.hpp>
+#include "lib/job.h"
+#include "lib/job_manager.h"
+#include "lib/cross.h"
+
+using std::string;
+using boost::shared_ptr;
+
class TestJob : public Job
{
public:
- TestJob (shared_ptr<Film> f)
- : Job (f)
+ TestJob (shared_ptr<Film> film)
+ : Job (film)
{
}
void run ()
{
- while (1) {
+ while (true) {
if (finished ()) {
return;
}
string name () const {
return "";
}
+
+ string json_name () const {
+ return "";
+ }
};
BOOST_AUTO_TEST_CASE (job_manager_test)
{
- shared_ptr<Film> f;
+ shared_ptr<Film> film;
/* Single job */
- shared_ptr<TestJob> a (new TestJob (f));
+ shared_ptr<TestJob> a (new TestJob (film));
JobManager::instance()->add (a);
- dvdomatic_sleep (1);
+ dcpomatic_sleep (1);
BOOST_CHECK_EQUAL (a->running (), true);
a->set_finished_ok ();
- dvdomatic_sleep (2);
+ dcpomatic_sleep (2);
BOOST_CHECK_EQUAL (a->finished_ok(), true);
}