Tests: Fix CMakeLib.testRST for relative __FILE__

Pass the test input directory as a runtime argument instead of
depending on __FILE__ to locate it.
This commit is contained in:
Brad King 2014-06-06 10:39:45 -04:00
parent 618b7df5bf
commit 218699eb28
2 changed files with 10 additions and 3 deletions

View File

@ -13,6 +13,8 @@ set(CMakeLib_TESTS
testXMLSafe testXMLSafe
) )
set(testRST_ARGS ${CMAKE_CURRENT_SOURCE_DIR})
if(WIN32) if(WIN32)
list(APPEND CMakeLib_TESTS list(APPEND CMakeLib_TESTS
testVisualStudioSlnParser testVisualStudioSlnParser
@ -39,7 +41,7 @@ if(CMAKE_OSX_ARCHITECTURES AND XCODE
endif() endif()
foreach(test ${CMakeLib_TESTS}) foreach(test ${CMakeLib_TESTS})
add_test(CMakeLib.${test} CMakeLibTests ${test}) add_test(CMakeLib.${test} CMakeLibTests ${test} ${${test}_ARGS})
endforeach() endforeach()
if(TEST_CompileCommandOutput) if(TEST_CompileCommandOutput)

View File

@ -25,9 +25,14 @@ void reportLine(std::ostream& os, bool ret, std::string line, bool eol)
} }
} }
int testRST(int, char*[]) int testRST(int argc, char* argv[])
{ {
std::string dir = cmSystemTools::GetFilenamePath(__FILE__); if(argc != 2)
{
std::cerr << "Usage: testRST <dir>" << std::endl;
return 1;
}
std::string dir = argv[1];
if(dir.empty()) if(dir.empty())
{ {
dir = "."; dir = ".";