16using namespace boost::unit_test_framework;
32 test_case* testErrorInDmapFile =
34 test_case* testNoDataInDmapFile =
38 add(testFileNotFound);
39 add(testErrorInDmapFile);
41 add(testNoDataInDmapFile);
46 framework::master_test_suite().p_name.value =
"DMapFileParser class test suite";
53 std::string file_path =
"../dummypath.dmap";
60 std::string incorrect_dmap_file =
"invalid.dmap";
71 std::string empty_dmap_file =
"empty.dmap";
78 std::string file_path =
"valid.dmap";
80 boost::shared_ptr<ChimeraTK::DeviceInfoMap> mapFilePtr = fileParser.
parse(file_path);
97 deviceInfo4, absPathToDmap,
"card4",
"(pci:mtcadummys0?map=goodMapFile_withoutModules.map)",
"");
106 BOOST_REQUIRE(mapFilePtr->getSize() == 4);
115 auto pluginLibraries = mapFilePtr->getPluginLibraries();
117 BOOST_CHECK(pluginLibraries.size() == 2);
118 BOOST_CHECK(pluginLibraries[0] == absPathToDmapDir +
"libMyLib.so");
119 BOOST_CHECK(pluginLibraries[1] ==
"/system/libAnotherLib.so");
Provides method to parse DMAP file.
static DeviceInfoMapPointer parse(const std::string &file_name)
Performs parsing of specified DMAP file.
Stores information about one device.
uint32_t dmapFileLineNumber
line number in DMAP file storing listed above information
std::vector< DeviceInfo >::const_iterator const_iterator
Exception thrown when a logic error has occured.
void testErrorInDmapFile()
void testNoDataInDmapFile()
DMapFileParserTestSuite()
bool compareDeviceInfos(const ChimeraTK::DeviceInfoMap::DeviceInfo &deviceInfo1, const ChimeraTK::DeviceInfoMap::DeviceInfo &deviceInfo2)
void populateDummyDeviceInfo(ChimeraTK::DeviceInfoMap::DeviceInfo &deviceInfo, std::string dmapFileName, std::string deviceName="card", std::string dev_file="/dev/dummy_device_identifier", std::string map_file_name="/dev/dummy_map_file")
std::string getCurrentWorkingDirectory()
Returns absolute path to current working directory. The returned path ends with a forward slash.
std::string concatenatePaths(const std::string &path1, const std::string &path2)
Concatenates two given paths using custom rules.
std::string convertToAbsolutePath(std::string const &relativePath)
Converts a relative path to its absolute path.