X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=test%2Ftest.h;h=a4b6bedd1a503aedf1a5ec024125b13aa2c01d22;hb=41262015eb2bb1fc3da8585883420975de381a65;hp=c188a614fc03612e5e76d9b93622cef87072fb1f;hpb=28111007e2e6fd62f5810be780706ae1618bd33f;p=dcpomatic.git diff --git a/test/test.h b/test/test.h index c188a614f..a4b6bedd1 100644 --- a/test/test.h +++ b/test/test.h @@ -20,8 +20,10 @@ #include "lib/warnings.h" -#include +#include "lib/types.h" +#include #include +#include class Film; @@ -36,10 +38,27 @@ public: static boost::filesystem::path xsd(); }; + +class Cleanup +{ +public: + void add (boost::filesystem::path path); + + /* Remove everything passed to add(). We don't do this + * in a destructor so that results of failed tests aren't + * deleted. + */ + void run (); + +private: + std::vector _paths; +}; + + extern bool wait_for_jobs (); extern void setup_test_config (); extern std::shared_ptr new_test_film (std::string); -extern std::shared_ptr new_test_film2 (std::string); +extern std::shared_ptr new_test_film2 (std::string, std::vector> content = {}, Cleanup* cleanup = nullptr); extern void check_dcp (boost::filesystem::path, boost::filesystem::path); extern void check_dcp (boost::filesystem::path, std::shared_ptr); extern void check_file (boost::filesystem::path ref, boost::filesystem::path check); @@ -56,6 +75,8 @@ boost::filesystem::path dcp_file (std::shared_ptr film, std::string void check_one_frame (boost::filesystem::path dcp, int64_t index, boost::filesystem::path ref); extern boost::filesystem::path subtitle_file (std::shared_ptr film); extern void make_random_file (boost::filesystem::path path, size_t size); +extern void make_and_verify_dcp (std::shared_ptr film, std::vector ignore = {}); + class LogSwitcher { @@ -67,9 +88,12 @@ private: std::shared_ptr _old; }; + namespace dcp { std::ostream& operator<< (std::ostream& s, dcp::Size i); -std::ostream& operator<< (std::ostream& s, Standard t); +std::ostream& operator<< (std::ostream& s, dcp::Standard t); } + +std::ostream& operator<< (std::ostream& s, VideoFrameType f);