summaryrefslogtreecommitdiffstats
path: root/Source/ctest.cxx
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2004-01-07 16:24:22 (GMT)
committerBill Hoffman <bill.hoffman@kitware.com>2004-01-07 16:24:22 (GMT)
commit2c2291bbe03aec2dd6637a5311204f09ff6c58ba (patch)
tree35947ba07840f9ea939e33567c1e6c3e79a37132 /Source/ctest.cxx
parenta8620773f3b934752062015a0df9fbe100e10dc7 (diff)
downloadCMake-2c2291bbe03aec2dd6637a5311204f09ff6c58ba.zip
CMake-2c2291bbe03aec2dd6637a5311204f09ff6c58ba.tar.gz
CMake-2c2291bbe03aec2dd6637a5311204f09ff6c58ba.tar.bz2
ENH: add new feature to ctest so that it can cmake, build and run a test executable
Diffstat (limited to 'Source/ctest.cxx')
-rw-r--r--Source/ctest.cxx279
1 files changed, 7 insertions, 272 deletions
diff --git a/Source/ctest.cxx b/Source/ctest.cxx
index 86abcdf..07b61cf 100644
--- a/Source/ctest.cxx
+++ b/Source/ctest.cxx
@@ -122,284 +122,19 @@ int main (int argc, char *argv[])
}
}
- cmCTest inst;
- // look at the args
- std::vector<std::string> args;
- for(int i =0; i < argc; ++i)
- {
- args.push_back(argv[i]);
- }
-
#ifdef _WIN32
std::string comspec = "cmw9xcom.exe";
cmSystemTools::SetWindows9xComspecSubstitute(comspec.c_str());
#endif
-
- for(unsigned int i=1; i < args.size(); ++i)
- {
- std::string arg = args[i];
- if(arg.find("-C",0) == 0 && i < args.size() - 1)
- {
- inst.m_ConfigType = args[i+1];
- }
-
- if( arg.find("-V",0) == 0 || arg.find("--verbose",0) == 0 )
- {
- inst.m_Verbose = true;
- }
-
- if( arg.find("-N",0) == 0 || arg.find("--show-only",0) == 0 )
- {
- inst.m_ShowOnly = true;
- }
-
- if( arg.find("-S",0) == 0 && i < args.size() - 1 )
- {
- inst.m_RunConfigurationScript = true;
- inst.m_ConfigurationScript = args[i+1];
- }
-
- if( arg.find("-D",0) == 0 && i < args.size() - 1 )
- {
- inst.m_DartMode = true;
- std::string targ = args[i+1];
- if ( targ == "Experimental" )
- {
- inst.SetTestModel(cmCTest::EXPERIMENTAL);
- inst.SetTest("Start");
- inst.SetTest("Configure");
- inst.SetTest("Build");
- inst.SetTest("Test");
- inst.SetTest("Coverage");
- inst.SetTest("Submit");
- }
- else if ( targ == "ExperimentalStart" )
- {
- inst.SetTestModel(cmCTest::EXPERIMENTAL);
- inst.SetTest("Start");
- }
- else if ( targ == "ExperimentalUpdate" )
- {
- inst.SetTestModel(cmCTest::EXPERIMENTAL);
- inst.SetTest("Update");
- }
- else if ( targ == "ExperimentalConfigure" )
- {
- inst.SetTestModel(cmCTest::EXPERIMENTAL);
- inst.SetTest("Configure");
- }
- else if ( targ == "ExperimentalBuild" )
- {
- inst.SetTestModel(cmCTest::EXPERIMENTAL);
- inst.SetTest("Build");
- }
- else if ( targ == "ExperimentalTest" )
- {
- inst.SetTestModel(cmCTest::EXPERIMENTAL);
- inst.SetTest("Test");
- }
- else if ( targ == "ExperimentalMemCheck" || targ == "ExperimentalPurify" )
- {
- inst.SetTestModel(cmCTest::EXPERIMENTAL);
- inst.SetTest("MemCheck");
- }
- else if ( targ == "ExperimentalCoverage" )
- {
- inst.SetTestModel(cmCTest::EXPERIMENTAL);
- inst.SetTest("Coverage");
- }
- else if ( targ == "ExperimentalSubmit" )
- {
- inst.SetTestModel(cmCTest::EXPERIMENTAL);
- inst.SetTest("Submit");
- }
- else if ( targ == "Continuous" )
- {
- inst.SetTestModel(cmCTest::CONTINUOUS);
- inst.SetTest("Start");
- inst.SetTest("Update");
- inst.SetTest("Configure");
- inst.SetTest("Build");
- inst.SetTest("Test");
- inst.SetTest("Coverage");
- inst.SetTest("Submit");
- }
- else if ( targ == "ContinuousStart" )
- {
- inst.SetTestModel(cmCTest::CONTINUOUS);
- inst.SetTest("Start");
- }
- else if ( targ == "ContinuousUpdate" )
- {
- inst.SetTestModel(cmCTest::CONTINUOUS);
- inst.SetTest("Update");
- }
- else if ( targ == "ContinuousConfigure" )
- {
- inst.SetTestModel(cmCTest::CONTINUOUS);
- inst.SetTest("Configure");
- }
- else if ( targ == "ContinuousBuild" )
- {
- inst.SetTestModel(cmCTest::CONTINUOUS);
- inst.SetTest("Build");
- }
- else if ( targ == "ContinuousTest" )
- {
- inst.SetTestModel(cmCTest::CONTINUOUS);
- inst.SetTest("Test");
- }
- else if ( targ == "ContinuousMemCheck" || targ == "ContinuousPurify" )
- {
- inst.SetTestModel(cmCTest::CONTINUOUS);
- inst.SetTest("MemCheck");
- }
- else if ( targ == "ContinuousCoverage" )
- {
- inst.SetTestModel(cmCTest::CONTINUOUS);
- inst.SetTest("Coverage");
- }
- else if ( targ == "ContinuousSubmit" )
- {
- inst.SetTestModel(cmCTest::CONTINUOUS);
- inst.SetTest("Submit");
- }
- else if ( targ == "Nightly" )
- {
- inst.SetTestModel(cmCTest::NIGHTLY);
- inst.SetTest("Start");
- inst.SetTest("Update");
- inst.SetTest("Configure");
- inst.SetTest("Build");
- inst.SetTest("Test");
- inst.SetTest("Coverage");
- inst.SetTest("Submit");
- }
- else if ( targ == "NightlyStart" )
- {
- inst.SetTestModel(cmCTest::NIGHTLY);
- inst.SetTest("Start");
- }
- else if ( targ == "NightlyUpdate" )
- {
- inst.SetTestModel(cmCTest::NIGHTLY);
- inst.SetTest("Update");
- }
- else if ( targ == "NightlyConfigure" )
- {
- inst.SetTestModel(cmCTest::NIGHTLY);
- inst.SetTest("Configure");
- }
- else if ( targ == "NightlyBuild" )
- {
- inst.SetTestModel(cmCTest::NIGHTLY);
- inst.SetTest("Build");
- }
- else if ( targ == "NightlyTest" )
- {
- inst.SetTestModel(cmCTest::NIGHTLY);
- inst.SetTest("Test");
- }
- else if ( targ == "NightlyMemCheck" || targ == "NightlyPurify" )
- {
- inst.SetTestModel(cmCTest::NIGHTLY);
- inst.SetTest("MemCheck");
- }
- else if ( targ == "NightlyCoverage" )
- {
- inst.SetTestModel(cmCTest::NIGHTLY);
- inst.SetTest("Coverage");
- }
- else if ( targ == "NightlySubmit" )
- {
- inst.SetTestModel(cmCTest::NIGHTLY);
- inst.SetTest("Submit");
- }
- else if ( targ == "MemoryCheck" )
- {
- inst.SetTestModel(cmCTest::EXPERIMENTAL);
- inst.SetTest("Start");
- inst.SetTest("Configure");
- inst.SetTest("Build");
- inst.SetTest("MemCheck");
- inst.SetTest("Coverage");
- inst.SetTest("Submit");
- }
- else if ( targ == "NightlyMemoryCheck" )
- {
- inst.SetTestModel(cmCTest::NIGHTLY);
- inst.SetTest("Start");
- inst.SetTest("Update");
- inst.SetTest("Configure");
- inst.SetTest("Build");
- inst.SetTest("MemCheck");
- inst.SetTest("Coverage");
- inst.SetTest("Submit");
- }
- }
-
- if( ( arg.find("-T",0) == 0 ) &&
- (i < args.size() -1) )
- {
- inst.m_DartMode = true;
- inst.SetTest(args[i+1].c_str());
- }
-
- if( ( arg.find("-M",0) == 0 || arg.find("--test-model",0) == 0 ) &&
- (i < args.size() -1) )
- {
- std::string& str = args[i+1];
- if ( str == "NIGHTLY" || str == "nightly" || str == "Nightly" )
- {
- inst.SetTestModel(cmCTest::NIGHTLY);
- }
- else if ( str == "CONTINUOUS" || str == "continuous" ||
- str == "Continuous" )
- {
- inst.SetTestModel(cmCTest::CONTINUOUS);
- std::cout << "Continuous" << std::endl;
- }
- else
- {
- inst.SetTestModel(cmCTest::EXPERIMENTAL);
- }
- }
-
- if(arg.find("-R",0) == 0 && i < args.size() - 1)
- {
- inst.m_UseIncludeRegExp = true;
- inst.m_IncludeRegExp = args[i+1];
- }
-
- if(arg.find("-E",0) == 0 && i < args.size() - 1)
- {
- inst.m_UseExcludeRegExp = true;
- inst.m_ExcludeRegExp = args[i+1];
- inst.m_UseExcludeRegExpFirst = inst.m_UseIncludeRegExp ? false : true;
- }
-
- if(arg.find("-A",0) == 0 && i < args.size() - 1)
- {
- inst.m_DartMode = true;
- inst.SetTest("Notes");
- inst.SetNotesFiles(argv[i+1]);
- }
- }
-
- // call process directory
- int res;
- if (inst.m_RunConfigurationScript)
- {
- res = inst.RunConfigurationScript();
- }
- else
+ cmCTest inst;
+ // copy the args to a vector
+ std::vector<std::string> args;
+ for(int i =0; i < argc; ++i)
{
- inst.Initialize();
- res = inst.ProcessTests();
- inst.Finalize();
+ args.push_back(argv[i]);
}
-
- return res;
+ // run ctest
+ return inst.Run(args);
}