diff options
author | Bill Hoffman <bill.hoffman@kitware.com> | 2004-01-07 16:24:22 (GMT) |
---|---|---|
committer | Bill Hoffman <bill.hoffman@kitware.com> | 2004-01-07 16:24:22 (GMT) |
commit | 2c2291bbe03aec2dd6637a5311204f09ff6c58ba (patch) | |
tree | 35947ba07840f9ea939e33567c1e6c3e79a37132 /Source/ctest.cxx | |
parent | a8620773f3b934752062015a0df9fbe100e10dc7 (diff) | |
download | CMake-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.cxx | 279 |
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); } |