Add testDirPath() for finding directories with test files
The same as testFilePath(), just for directories.
This commit is contained in:
parent
0b267c7959
commit
dd41762b70
|
@ -233,16 +233,34 @@ TestApplication::~TestApplication()
|
|||
* 3. The subdirectory "testfiles" within the source directory, if it could be determined via "srcref"-file.
|
||||
* 4. The subdirectory "testfiles" within present working directory.
|
||||
*/
|
||||
string TestApplication::testFilePath(const string &relativeTestFilePath) const
|
||||
std::string TestApplication::testFilePath(const std::string &relativeTestFilePath) const
|
||||
{
|
||||
string path;
|
||||
std::string path;
|
||||
for (const auto &testFilesPath : m_testFilesPaths) {
|
||||
if (fileExists(path = testFilesPath + relativeTestFilePath)) {
|
||||
return path;
|
||||
}
|
||||
}
|
||||
throw runtime_error("The testfile \"" % relativeTestFilePath % "\" can not be located. Was looking under:"
|
||||
+ joinStrings(m_testFilesPaths, "\n", false, string(), relativeTestFilePath));
|
||||
throw std::runtime_error("The test file \"" % relativeTestFilePath % "\" can not be located. Was looking under:"
|
||||
+ joinStrings(m_testFilesPaths, "\n", false, std::string(), relativeTestFilePath));
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Returns the full path of the test directory with the specified \a relativeTestDirPath.
|
||||
*
|
||||
* This is the same as TestApplication::testFilePath() but for directories. Checkout the documentation of
|
||||
* TestApplication::testFilePath() for details about the lookup.
|
||||
*/
|
||||
std::string TestApplication::testDirPath(const std::string &relativeTestDirPath) const
|
||||
{
|
||||
std::string path;
|
||||
for (const auto &testFilesPath : m_testFilesPaths) {
|
||||
if (dirExists(path = testFilesPath + relativeTestDirPath)) {
|
||||
return path;
|
||||
}
|
||||
}
|
||||
throw std::runtime_error("The test directory \"" % relativeTestDirPath % "\" can not be located. Was looking under:"
|
||||
+ joinStrings(m_testFilesPaths, "\n", false, std::string(), relativeTestDirPath));
|
||||
}
|
||||
|
||||
/*!
|
||||
|
|
|
@ -28,6 +28,7 @@ public:
|
|||
|
||||
// helper for tests
|
||||
std::string testFilePath(const std::string &relativeTestFilePath) const;
|
||||
std::string testDirPath(const std::string &relativeTestDirPath) const;
|
||||
std::string workingCopyPath(const std::string &relativeTestFilePath, WorkingCopyMode mode = WorkingCopyMode::CreateCopy) const;
|
||||
std::string workingCopyPathAs(const std::string &relativeTestFilePath, const std::string &relativeWorkingCopyPath,
|
||||
WorkingCopyMode mode = WorkingCopyMode::CreateCopy) const;
|
||||
|
@ -149,6 +150,15 @@ inline CPP_UTILITIES_EXPORT std::string testFilePath(const std::string &relative
|
|||
return TestApplication::instance()->testFilePath(relativeTestFilePath);
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Convenience function to invoke TestApplication::testDirPath().
|
||||
* \remarks A TestApplication must be present.
|
||||
*/
|
||||
inline CPP_UTILITIES_EXPORT std::string testDirPath(const std::string &relativeTestDirPath)
|
||||
{
|
||||
return TestApplication::instance()->testDirPath(relativeTestDirPath);
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Convenience function to invoke TestApplication::workingCopyPath().
|
||||
* \remarks A TestApplication must be present.
|
||||
|
|
Loading…
Reference in New Issue