*/
/** @file test/job_test.cc
- * @brief Basic tests of Job and JobManager.
+ * @brief Test Job and JobManager.
+ * @ingroup selfcontained
*/
+#include <boost/test/unit_test.hpp>
#include "lib/job.h"
#include "lib/job_manager.h"
#include "lib/cross.h"
-#include <boost/test/unit_test.hpp>
-#include <boost/make_shared.hpp>
using std::string;
using boost::shared_ptr;
-using boost::make_shared;
class TestJob : public Job
{
public:
- TestJob (shared_ptr<Film> film)
+ explicit TestJob (shared_ptr<Film> film)
: Job (film)
{
}
+ ~TestJob ()
+ {
+ stop_thread ();
+ }
+
void set_finished_ok () {
set_state (FINISHED_OK);
}
shared_ptr<Film> film;
/* Single job */
- shared_ptr<TestJob> a = make_shared<TestJob> (film);
+ shared_ptr<TestJob> a (new TestJob (film));
JobManager::instance()->add (a);
- dcpomatic_sleep (1);
+ dcpomatic_sleep_seconds (1);
BOOST_CHECK_EQUAL (a->running (), true);
a->set_finished_ok ();
- dcpomatic_sleep (2);
+ dcpomatic_sleep_seconds (2);
BOOST_CHECK_EQUAL (a->finished_ok(), true);
}