BUG: Try to fix the problem of bad test names

This commit is contained in:
Andy Cedilnik 2006-07-11 15:58:07 -04:00
parent 87ef95c715
commit 12cc89a8e5
6 changed files with 36 additions and 14 deletions

View File

@ -24,22 +24,26 @@ cmCTestGenericHandler* cmCTestConfigureCommand::InitializeHandler()
if ( this->Values[ct_BUILD] ) if ( this->Values[ct_BUILD] )
{ {
this->CTest->SetCTestConfiguration("BuildDirectory", this->CTest->SetCTestConfiguration("BuildDirectory",
this->Values[ct_BUILD]); cmSystemTools::CollapseFullPath(
this->Values[ct_BUILD]).c_str());
} }
else else
{ {
this->CTest->SetCTestConfiguration("BuildDirectory", this->CTest->SetCTestConfiguration("BuildDirectory",
this->Makefile->GetDefinition("CTEST_BINARY_DIRECTORY")); cmSystemTools::CollapseFullPath(
this->Makefile->GetDefinition("CTEST_BINARY_DIRECTORY")).c_str());
} }
if ( this->Values[ct_SOURCE] ) if ( this->Values[ct_SOURCE] )
{ {
this->CTest->SetCTestConfiguration("SourceDirectory", this->CTest->SetCTestConfiguration("SourceDirectory",
this->Values[ct_SOURCE]); cmSystemTools::CollapseFullPath(
this->Values[ct_SOURCE]).c_str());
} }
else else
{ {
this->CTest->SetCTestConfiguration("SourceDirectory", this->CTest->SetCTestConfiguration("SourceDirectory",
this->Makefile->GetDefinition("CTEST_SOURCE_DIRECTORY")); cmSystemTools::CollapseFullPath(
this->Makefile->GetDefinition("CTEST_SOURCE_DIRECTORY")).c_str());
} }
if ( this->CTest->GetCTestConfiguration("BuildDirectory").empty() ) if ( this->CTest->GetCTestConfiguration("BuildDirectory").empty() )
{ {

View File

@ -58,24 +58,28 @@ bool cmCTestHandlerCommand::InitialPass(
if ( this->Values[ct_BUILD] ) if ( this->Values[ct_BUILD] )
{ {
this->CTest->SetCTestConfiguration("BuildDirectory", this->CTest->SetCTestConfiguration("BuildDirectory",
this->Values[ct_BUILD]); cmSystemTools::CollapseFullPath(
this->Values[ct_BUILD]).c_str());
} }
else else
{ {
this->CTest->SetCTestConfiguration("BuildDirectory", this->CTest->SetCTestConfiguration("BuildDirectory",
this->Makefile->GetDefinition("CTEST_BINARY_DIRECTORY")); cmSystemTools::CollapseFullPath(
this->Makefile->GetDefinition("CTEST_BINARY_DIRECTORY")).c_str());
} }
if ( this->Values[ct_SOURCE] ) if ( this->Values[ct_SOURCE] )
{ {
cmCTestLog(this->CTest, DEBUG, cmCTestLog(this->CTest, DEBUG,
"Set source directory to: " << this->Values[ct_SOURCE] << std::endl); "Set source directory to: " << this->Values[ct_SOURCE] << std::endl);
this->CTest->SetCTestConfiguration("SourceDirectory", this->CTest->SetCTestConfiguration("SourceDirectory",
this->Values[ct_SOURCE]); cmSystemTools::CollapseFullPath(
this->Values[ct_SOURCE]).c_str());
} }
else else
{ {
this->CTest->SetCTestConfiguration("SourceDirectory", this->CTest->SetCTestConfiguration("SourceDirectory",
this->Makefile->GetDefinition("CTEST_SOURCE_DIRECTORY")); cmSystemTools::CollapseFullPath(
this->Makefile->GetDefinition("CTEST_SOURCE_DIRECTORY")).c_str());
} }
if ( this->Values[ct_SUBMIT_INDEX] ) if ( this->Values[ct_SUBMIT_INDEX] )
{ {

View File

@ -77,8 +77,10 @@ bool cmCTestStartCommand::InitialPass(
return false; return false;
} }
this->CTest->EmptyCTestConfiguration(); this->CTest->EmptyCTestConfiguration();
this->CTest->SetCTestConfiguration("SourceDirectory", src_dir); this->CTest->SetCTestConfiguration("SourceDirectory",
this->CTest->SetCTestConfiguration("BuildDirectory", bld_dir); cmSystemTools::CollapseFullPath(src_dir).c_str());
this->CTest->SetCTestConfiguration("BuildDirectory",
cmSystemTools::CollapseFullPath(bld_dir).c_str());
cmCTestLog(this->CTest, HANDLER_OUTPUT, "Run dashboard with model " cmCTestLog(this->CTest, HANDLER_OUTPUT, "Run dashboard with model "
<< smodel << std::endl << smodel << std::endl

View File

@ -72,6 +72,7 @@ public:
//---------------------------------------------------------------------- //----------------------------------------------------------------------
bool cmCTestSubdirCommand::InitialPass(std::vector<std::string> const& args) bool cmCTestSubdirCommand::InitialPass(std::vector<std::string> const& args)
{ {
#undef cout
if(args.size() < 1 ) if(args.size() < 1 )
{ {
this->SetError("called with incorrect number of arguments"); this->SetError("called with incorrect number of arguments");
@ -79,9 +80,11 @@ bool cmCTestSubdirCommand::InitialPass(std::vector<std::string> const& args)
} }
std::vector<std::string>::const_iterator it; std::vector<std::string>::const_iterator it;
std::string cwd = cmSystemTools::GetCurrentWorkingDirectory(); std::string cwd = cmSystemTools::GetCurrentWorkingDirectory();
std::cout << __LINE__ << " Current directory: " << cwd.c_str() << std::endl;
for ( it = args.begin(); it != args.end(); ++ it ) for ( it = args.begin(); it != args.end(); ++ it )
{ {
cmSystemTools::ChangeDirectory(cwd.c_str()); cmSystemTools::ChangeDirectory(cwd.c_str());
std::cout << __LINE__ << " Current directory: " << cwd.c_str() << std::endl;
std::string fname = cwd; std::string fname = cwd;
fname += "/"; fname += "/";
fname += *it; fname += *it;
@ -92,6 +95,7 @@ bool cmCTestSubdirCommand::InitialPass(std::vector<std::string> const& args)
continue; continue;
} }
cmSystemTools::ChangeDirectory(fname.c_str()); cmSystemTools::ChangeDirectory(fname.c_str());
std::cout << __LINE__ << " Current directory: " << fname.c_str() << std::endl;
const char* testFilename; const char* testFilename;
if( cmSystemTools::FileExists("CTestTestfile.cmake") ) if( cmSystemTools::FileExists("CTestTestfile.cmake") )
{ {
@ -1655,6 +1659,7 @@ bool cmCTestTestHandler::SetTestsProperties(
bool cmCTestTestHandler::AddTest(const std::vector<std::string>& args) bool cmCTestTestHandler::AddTest(const std::vector<std::string>& args)
{ {
const std::string& testname = args[0]; const std::string& testname = args[0];
cmCTestLog(this->CTest, ERROR_MESSAGE, "Add test: " << args[0] << std::endl);
if (this->UseExcludeRegExpFlag && if (this->UseExcludeRegExpFlag &&
this->UseExcludeRegExpFirst && this->UseExcludeRegExpFirst &&
this->ExcludeTestsRegularExpression.find(testname.c_str())) this->ExcludeTestsRegularExpression.find(testname.c_str()))
@ -1706,6 +1711,8 @@ bool cmCTestTestHandler::AddTest(const std::vector<std::string>& args)
test.Name = testname; test.Name = testname;
test.Args = args; test.Args = args;
test.Directory = cmSystemTools::GetCurrentWorkingDirectory(); test.Directory = cmSystemTools::GetCurrentWorkingDirectory();
cmCTestLog(this->CTest, ERROR_MESSAGE, "Set test directory: " << test.Directory << std::endl);
test.IsInBasedOnREOptions = true; test.IsInBasedOnREOptions = true;
test.WillFail = false; test.WillFail = false;
if (this->UseIncludeRegExpFlag && if (this->UseIncludeRegExpFlag &&

View File

@ -24,12 +24,14 @@ cmCTestGenericHandler* cmCTestUpdateCommand::InitializeHandler()
if ( this->Values[ct_SOURCE] ) if ( this->Values[ct_SOURCE] )
{ {
this->CTest->SetCTestConfiguration("SourceDirectory", this->CTest->SetCTestConfiguration("SourceDirectory",
this->Values[ct_SOURCE]); cmSystemTools::CollapseFullPath(
this->Values[ct_SOURCE]).c_str());
} }
else else
{ {
this->CTest->SetCTestConfiguration("SourceDirectory", this->CTest->SetCTestConfiguration("SourceDirectory",
this->Makefile->GetDefinition("CTEST_SOURCE_DIRECTORY")); cmSystemTools::CollapseFullPath(
this->Makefile->GetDefinition("CTEST_SOURCE_DIRECTORY")).c_str());
} }
std::string source_dir std::string source_dir
= this->CTest->GetCTestConfiguration("SourceDirectory"); = this->CTest->GetCTestConfiguration("SourceDirectory");

View File

@ -2056,8 +2056,11 @@ void cmCTest::PopulateCustomInteger(cmMakefile* mf, const char* def, int& val)
std::string cmCTest::GetShortPathToFile(const char* cfname) std::string cmCTest::GetShortPathToFile(const char* cfname)
{ {
const std::string& sourceDir const std::string& sourceDir
= this->GetCTestConfiguration("SourceDirectory"); = cmSystemTools::CollapseFullPath(
const std::string& buildDir = this->GetCTestConfiguration("BuildDirectory"); this->GetCTestConfiguration("SourceDirectory"));
const std::string& buildDir
= cmSystemTools::CollapseFullPath(
this->GetCTestConfiguration("BuildDirectory"));
std::string fname = cmSystemTools::CollapseFullPath(cfname); std::string fname = cmSystemTools::CollapseFullPath(cfname);
// Find relative paths to both directories // Find relative paths to both directories