[Cmake-commits] [cmake-commits] zach.mullen committed cmCTest.cxx 1.376 1.377 cmCTest.h 1.122 1.123 ctest.cxx 1.109 1.110
cmake-commits at cmake.org
cmake-commits at cmake.org
Thu Oct 29 15:30:14 EDT 2009
Update of /cvsroot/CMake/CMake/Source
In directory public:/mounts/ram/cvs-serv15114/Source
Modified Files:
cmCTest.cxx cmCTest.h ctest.cxx
Log Message:
Hook for scheduling tests in a random order
This may help statistically detect implicit dependencies among unit
tests while running in parallel.
Index: cmCTest.h
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmCTest.h,v
retrieving revision 1.122
retrieving revision 1.123
diff -C 2 -d -r1.122 -r1.123
*** cmCTest.h 28 Sep 2009 15:41:57 -0000 1.122
--- cmCTest.h 29 Oct 2009 19:30:12 -0000 1.123
***************
*** 192,195 ****
--- 192,198 ----
bool GetShowOnly();
+ //Used for parallel ctest job scheduling
+ std::string GetScheduleType() { return this->ScheduleType; }
+ void SetScheduleType(std::string type) { this->ScheduleType = type; }
///! The max output width
***************
*** 375,378 ****
--- 378,382 ----
private:
std::string ConfigType;
+ std::string ScheduleType;
bool Verbose;
bool ExtraVerbose;
Index: cmCTest.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmCTest.cxx,v
retrieving revision 1.376
retrieving revision 1.377
diff -C 2 -d -r1.376 -r1.377
*** cmCTest.cxx 15 Oct 2009 11:38:47 -0000 1.376
--- cmCTest.cxx 29 Oct 2009 19:30:12 -0000 1.377
***************
*** 226,229 ****
--- 226,230 ----
this->CompressXMLFiles = false;
this->CTestConfigFile = "";
+ this->ScheduleType = "";
this->OutputLogFile = 0;
this->OutputLogFileLastTag = -1;
***************
*** 2028,2031 ****
--- 2029,2037 ----
}
+ if(this->CheckArgument(arg, "--schedule-random"))
+ {
+ this->ScheduleType = "Random";
+ }
+
// pass the argument to all the handlers as well, but i may no longer be
// set to what it was originally so I'm not sure this is working as
Index: ctest.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/ctest.cxx,v
retrieving revision 1.109
retrieving revision 1.110
diff -C 2 -d -r1.109 -r1.110
*** ctest.cxx 28 Sep 2009 15:42:50 -0000 1.109
--- ctest.cxx 29 Oct 2009 19:30:12 -0000 1.110
***************
*** 209,212 ****
--- 209,215 ----
"If this behavior is not desired, this argument will enforce new "
"processes for child CTest processes." },
+ {"--schedule-random", "Use a random order for scheduling tests",
+ "This option will run the tests in a random order. It is commonly used to "
+ "detect implicit dependencies in a test suite." },
{"--submit-index", "Submit individual dashboard tests with specific index",
"This option allows performing the same CTest action (such as test) "
More information about the Cmake-commits
mailing list