X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=test%2Finterrupt_encoder_test.cc;fp=test%2Finterrupt_encoder_test.cc;h=bca1bbc0bf117b052f27106826e20eb209442971;hb=c91561e2981e0e089f723d7d26d1ea6fccec201b;hp=0000000000000000000000000000000000000000;hpb=dc37d4d06b1fde1a61b7d446f51921f19324ef98;p=dcpomatic.git diff --git a/test/interrupt_encoder_test.cc b/test/interrupt_encoder_test.cc new file mode 100644 index 000000000..bca1bbc0b --- /dev/null +++ b/test/interrupt_encoder_test.cc @@ -0,0 +1,51 @@ +/* + Copyright (C) 2016 Carl Hetherington + + 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. + + 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 DCP-o-matic. If not, see . + +*/ + +#include "lib/film.h" +#include "lib/dcp_content_type.h" +#include "lib/ratio.h" +#include "lib/ffmpeg_content.h" +#include "lib/audio_content.h" +#include "lib/job_manager.h" +#include "test.h" +#include + +using boost::shared_ptr; + +/** Interrupt a DCP encode when it is in progress, as this used to (still does?) + * sometimes give an error related to pthreads. + */ +BOOST_AUTO_TEST_CASE (interrupt_encoder_test) +{ + shared_ptr film = new_test_film ("interrupt_encoder_test"); + film->set_dcp_content_type (DCPContentType::from_isdcf_name ("FTR")); + film->set_container (Ratio::from_id ("185")); + film->set_name ("interrupt_encoder_test"); + + shared_ptr content (new FFmpegContent (film, private_data / "prophet_clip.mkv")); + film->examine_and_add_content (content); + wait_for_jobs (); + + film->make_dcp (); + + sleep (10); + + JobManager::drop (); +}