Browse Source

Tests: Fix CMakeLib.testRST for relative __FILE__

Pass the test input directory as a runtime argument instead of
depending on __FILE__ to locate it.
Brad King 11 years ago
parent
commit
218699eb28
2 changed files with 10 additions and 3 deletions
  1. 3 1
      Tests/CMakeLib/CMakeLists.txt
  2. 7 2
      Tests/CMakeLib/testRST.cxx

+ 3 - 1
Tests/CMakeLib/CMakeLists.txt

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

+ 7 - 2
Tests/CMakeLib/testRST.cxx

@@ -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())
     {
     dir = ".";