diff --git a/Source/cmCTest.cxx b/Source/cmCTest.cxx index 70c02bd83..a985fb309 100644 --- a/Source/cmCTest.cxx +++ b/Source/cmCTest.cxx @@ -4095,61 +4095,61 @@ int cmCTest::RunCMakeAndTest(std::string* outstring) else { failed.push_back(m_TestCommand); - } - std::string tryPath = m_TestCommand; - tryPath += cmSystemTools::GetExecutableExtension(); - if(cmSystemTools::FileExists(tryPath.c_str())) - { - fullPath = cmSystemTools::CollapseFullPath(tryPath.c_str()); - } - else - { - failed.push_back(tryPath); - } - // try the Debug extension - tryPath = m_ConfigType + "/"; - tryPath += cmSystemTools::GetFilenameName(m_TestCommand); - if(cmSystemTools::FileExists(tryPath.c_str())) - { - fullPath = cmSystemTools::CollapseFullPath(tryPath.c_str()); - } - else - { - failed.push_back(tryPath); - } - tryPath += cmSystemTools::GetExecutableExtension(); - if(cmSystemTools::FileExists(tryPath.c_str())) - { - fullPath = cmSystemTools::CollapseFullPath(tryPath.c_str()); - } - else - { - failed.push_back(tryPath); - } - tryPath = m_ExecutableDirectory; - tryPath += "/"; - tryPath += m_TestCommand; - tryPath += cmSystemTools::GetExecutableExtension(); - if(cmSystemTools::FileExists(tryPath.c_str())) - { - fullPath = cmSystemTools::CollapseFullPath(tryPath.c_str()); - } - else - { - failed.push_back(tryPath); - } - tryPath = m_ExecutableDirectory; - tryPath += "/"; - tryPath += m_ConfigType + "/"; - tryPath += m_TestCommand; - tryPath += cmSystemTools::GetExecutableExtension(); - if(cmSystemTools::FileExists(tryPath.c_str())) - { - fullPath = cmSystemTools::CollapseFullPath(tryPath.c_str()); - } - else - { - failed.push_back(tryPath); + std::string tryPath = m_TestCommand; + tryPath += cmSystemTools::GetExecutableExtension(); + if(cmSystemTools::FileExists(tryPath.c_str())) + { + fullPath = cmSystemTools::CollapseFullPath(tryPath.c_str()); + } + else + { + failed.push_back(tryPath); + // try the Debug extension + tryPath = m_ConfigType + "/"; + tryPath += cmSystemTools::GetFilenameName(m_TestCommand); + if(cmSystemTools::FileExists(tryPath.c_str())) + { + fullPath = cmSystemTools::CollapseFullPath(tryPath.c_str()); + } + else + { + failed.push_back(tryPath); + tryPath += cmSystemTools::GetExecutableExtension(); + if(cmSystemTools::FileExists(tryPath.c_str())) + { + fullPath = cmSystemTools::CollapseFullPath(tryPath.c_str()); + } + else + { + failed.push_back(tryPath); + tryPath = m_ExecutableDirectory; + tryPath += "/"; + tryPath += m_TestCommand; + tryPath += cmSystemTools::GetExecutableExtension(); + if(cmSystemTools::FileExists(tryPath.c_str())) + { + fullPath = cmSystemTools::CollapseFullPath(tryPath.c_str()); + } + else + { + failed.push_back(tryPath); + tryPath = m_ExecutableDirectory; + tryPath += "/"; + tryPath += m_ConfigType + "/"; + tryPath += m_TestCommand; + tryPath += cmSystemTools::GetExecutableExtension(); + if(cmSystemTools::FileExists(tryPath.c_str())) + { + fullPath = cmSystemTools::CollapseFullPath(tryPath.c_str()); + } + else + { + failed.push_back(tryPath); + } + } + } + } + } } if(!cmSystemTools::FileExists(fullPath.c_str())) { diff --git a/Source/kwsys/SystemTools.cxx b/Source/kwsys/SystemTools.cxx index 6b8099c29..04d8e0888 100644 --- a/Source/kwsys/SystemTools.cxx +++ b/Source/kwsys/SystemTools.cxx @@ -626,8 +626,9 @@ bool SystemTools::SameFile(const char* file1, const char* file2) // return true if the file exists bool SystemTools::FileExists(const char* filename) { - struct stat fs; - if (stat(filename, &fs) != 0) +// struct stat fs; +// if (stat(filename, &fs) != 0) + if ( access(filename, F_OK) != 0 ) { return false; }