Change logic of ctest subdirs command to allow for absolute paths. Also added test coverage for passing absolute paths to subdirs.
This commit is contained in:
parent
21a59bdc4d
commit
c9c0ee4056
|
@ -82,17 +82,20 @@ bool cmCTestSubdirCommand
|
|||
for ( it = args.begin(); it != args.end(); ++ it )
|
||||
{
|
||||
cmSystemTools::ChangeDirectory(cwd.c_str());
|
||||
std::string fname = cwd;
|
||||
fname += "/";
|
||||
fname += *it;
|
||||
std::string fname;
|
||||
|
||||
//sanity check on relative path; if not, try absolute path
|
||||
if ( !cmSystemTools::FileIsDirectory(fname.c_str()))
|
||||
if(cmSystemTools::FileIsFullPath(it->c_str()))
|
||||
{
|
||||
fname = *it;
|
||||
}
|
||||
else
|
||||
{
|
||||
fname = cwd;
|
||||
fname += "/";
|
||||
fname += *it;
|
||||
}
|
||||
|
||||
if ( !cmSystemTools::FileExists(fname.c_str()) )
|
||||
if ( !cmSystemTools::FileIsDirectory(fname.c_str()) )
|
||||
{
|
||||
// No subdirectory? So what...
|
||||
continue;
|
||||
|
|
|
@ -1210,6 +1210,9 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=CVS -P ${CMake_SOURCE_DIR}/Utilities/Rel
|
|||
-S "${CMake_BINARY_DIR}/Tests/CTestTestSubdir/test.cmake" -V
|
||||
--output-log "${CMake_BINARY_DIR}/Tests/CTestTestSubdir/testOutput.log"
|
||||
)
|
||||
#make sure all 3 subdirs were added
|
||||
SET_TESTS_PROPERTIES(CTestTestSubdir PROPERTIES
|
||||
PASS_REGULAR_EXPRESSION "0 tests failed out of 3")
|
||||
|
||||
CONFIGURE_FILE(
|
||||
"${CMake_SOURCE_DIR}/Tests/CTestTestTimeout/test.cmake.in"
|
||||
|
|
|
@ -9,3 +9,5 @@ GET_FILENAME_COMPONENT(CTEST_COMMAND "${CMAKE_COMMAND}" PATH)
|
|||
SET(CTEST_COMMAND "${CTEST_COMMAND}/ctest")
|
||||
|
||||
ADD_SUBDIRECTORY(subdir)
|
||||
SUBDIRS(subdir2)
|
||||
SUBDIRS("${CTestTestSubdir_SOURCE_DIR}/subdir3")
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
ADD_EXECUTABLE (main main.c)
|
||||
ADD_TEST (TestMain main)
|
||||
ADD_TEST (TestMain1 main)
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
ADD_EXECUTABLE (main2 main.c)
|
||||
ADD_TEST (TestMain2 main2)
|
|
@ -0,0 +1,4 @@
|
|||
int main(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
|
@ -0,0 +1,2 @@
|
|||
ADD_EXECUTABLE (main3 main.c)
|
||||
ADD_TEST (TestMain3 main3)
|
|
@ -0,0 +1,4 @@
|
|||
int main(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue