X-Git-Url: https://git.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=test%2Ftest.cc;h=90b40ed25b1b925af82d857beccb81022d3e00e3;hp=b2a0cd5acfcaad18aaca3c13bcae9b13e46202e9;hb=e21a8bc77f80374a78085c492e4dd14315457e5f;hpb=da822af56c5e4acab361b8531fb75a1dcb4b110e diff --git a/test/test.cc b/test/test.cc index b2a0cd5ac..90b40ed25 100644 --- a/test/test.cc +++ b/test/test.cc @@ -824,13 +824,15 @@ check_one_frame (boost::filesystem::path dcp_dir, int64_t index, boost::filesyst boost::filesystem::path dcp_file (shared_ptr film, string prefix) { - auto i = boost::filesystem::recursive_directory_iterator(film->dir(film->dcp_name())); - while (i != boost::filesystem::recursive_directory_iterator() && !boost::algorithm::starts_with(i->path().leaf().string(), prefix)) { - ++i; - } + using namespace boost::filesystem; + + vector matches; + std::copy_if(recursive_directory_iterator(film->dir(film->dcp_name())), recursive_directory_iterator(), std::back_inserter(matches), [&prefix](directory_entry const& entry) { + return boost::algorithm::starts_with(entry.path().leaf().string(), prefix); + }); - BOOST_REQUIRE_MESSAGE(i != boost::filesystem::recursive_directory_iterator(), "Could not find file with prefix " << prefix); - return i->path(); + BOOST_REQUIRE_MESSAGE(matches.size() == 1, "Found " << matches.size() << " files with prefix " << prefix); + return matches[0].path(); } boost::filesystem::path