Line data Source code
1 : #include "artdaq-core/Utilities/SimpleLookupPolicy.hh"
2 :
3 : #define BOOST_TEST_MODULE SimpleLookupPolicy_t
4 : #include "cetlib/quiet_unit_test.hpp"
5 :
6 : #include "cetlib/filepath_maker.h"
7 : #include "cetlib_except/exception.h"
8 :
9 : #include <boost/filesystem.hpp>
10 :
11 : #define TRACE_NAME "SimpleLookupPolicy_t"
12 : #include "TRACE/tracemf.h"
13 :
14 : BOOST_AUTO_TEST_SUITE(SimpleLookupPolicy_test)
15 :
16 2 : BOOST_AUTO_TEST_CASE(Constructors)
17 : {
18 2 : artdaq::SimpleLookupPolicy e("PATH");
19 2 : artdaq::SimpleLookupPolicy np("", artdaq::SimpleLookupPolicy::ArgType::PATH_STRING);
20 1 : artdaq::SimpleLookupPolicy p("/tmp", artdaq::SimpleLookupPolicy::ArgType::PATH_STRING);
21 3 : std::unique_ptr<cet::filepath_maker> pp(new artdaq::SimpleLookupPolicy("PATH"));
22 1 : BOOST_REQUIRE(true); // No exceptions
23 1 : }
24 :
25 2 : BOOST_AUTO_TEST_CASE(AbsoluteFilePath)
26 : {
27 1 : artdaq::SimpleLookupPolicy p("", artdaq::SimpleLookupPolicy::ArgType::PATH_STRING);
28 1 : auto absolutePath = boost::filesystem::current_path();
29 1 : absolutePath += "LookupTarget.fcl";
30 1 : p(absolutePath.string());
31 1 : BOOST_REQUIRE(true); // No exceptions
32 1 : }
33 :
34 2 : BOOST_AUTO_TEST_CASE(FallbackPath)
35 : {
36 2 : artdaq::SimpleLookupPolicy p("/tmp:.", artdaq::SimpleLookupPolicy::ArgType::PATH_STRING);
37 2 : p("LookupTarget.fcl");
38 4 : BOOST_REQUIRE_EXCEPTION(p("ThisFileDoesNotExist.fcl"), cet::exception, [](cet::exception const& e) { return e.category() == "search_path"; });
39 1 : }
40 :
41 : BOOST_AUTO_TEST_SUITE_END()
|