Browse Source

BUG: 0007569 add ability to do -R/-E in ctest_test command

Bill Hoffman 17 years ago
parent
commit
6bc394c8e5
2 changed files with 22 additions and 3 deletions
  1. 10 0
      Source/CTest/cmCTestTestCommand.cxx
  2. 12 3
      Source/CTest/cmCTestTestCommand.h

+ 10 - 0
Source/CTest/cmCTestTestCommand.cxx

@@ -24,6 +24,8 @@ cmCTestTestCommand::cmCTestTestCommand()
   this->Arguments[ctt_START] = "START";
   this->Arguments[ctt_END] = "END";
   this->Arguments[ctt_STRIDE] = "STRIDE";
+  this->Arguments[ctt_EXCLUDE] = "EXCLUDE";
+  this->Arguments[ctt_INCLUDE] = "INCLUDE";
   this->Arguments[ctt_LAST] = 0;
   this->Last = ctt_LAST;
 }
@@ -68,6 +70,14 @@ cmCTestGenericHandler* cmCTestTestCommand::InitializeHandler()
     handler->SetOption("TestsToRunInformation",
       testsToRunString.str().c_str());
     }
+  if(this->Values[ctt_EXCLUDE])
+    {
+    handler->SetOption("ExcludeRegularExpression", this->Values[ctt_EXCLUDE]);
+    }
+  if(this->Values[ctt_INCLUDE])
+    {
+    handler->SetOption("IncludeRegularExpression", this->Values[ctt_INCLUDE]);
+    }
   return handler;
 }
 

+ 12 - 3
Source/CTest/cmCTestTestCommand.h

@@ -44,7 +44,7 @@ public:
   /**
    * The name of the command as specified in CMakeList.txt.
    */
-  virtual const char* GetName() { return "CTEST_TEST";}
+  virtual const char* GetName() { return "ctest_test";}
 
   /**
    * Succinct documentation.
@@ -60,9 +60,16 @@ public:
   virtual const char* GetFullDocumentation()
     {
     return
-      "  CTEST_TEST([BUILD build_dir] [RETURN_VALUE res])\n"
+      "  CTEST_TEST([BUILD build_dir]\n"
+      "             [START start number] [END end number]\n"
+      "             [STRIDE stride number] [EXCLUDE exclude regex ]\n"
+      "             [INCLUDE include regex] [RETURN_VALUE res] )\n"
       "Tests the given build directory and stores results in Test.xml. The "
-      "second argument is a variable that will hold value.";
+      "second argument is a variable that will hold value. Optionally, "
+      "you can specify the starting test number START, the ending test number "
+      "END, the number of tests to skip between each test STRIDE, a regular "
+      "expression for tests to run INCLUDE, or a regular expression for tests "
+      "to not run EXCLUDE.";
     }
 
   cmTypeMacro(cmCTestTestCommand, cmCTestHandlerCommand);
@@ -77,6 +84,8 @@ protected:
     ctt_START,
     ctt_END,
     ctt_STRIDE,
+    ctt_EXCLUDE,
+    ctt_INCLUDE,
     ctt_LAST
   };
 };