minor fixes to testing
This commit is contained in:
parent
c6418bd34b
commit
c19c252e23
@ -780,7 +780,8 @@ bool cmSystemTools::RunCommand(const char* command,
|
|||||||
std::ifstream fin(tempFile.c_str());
|
std::ifstream fin(tempFile.c_str());
|
||||||
if(!fin)
|
if(!fin)
|
||||||
{
|
{
|
||||||
cmSystemTools::Error(command, " from RunCommand Faild to create output file",
|
cmSystemTools::Error(command,
|
||||||
|
" from RunCommand Failed to create output file: ",
|
||||||
tempFile.c_str());
|
tempFile.c_str());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -37,19 +37,51 @@ main (int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
// now build the test
|
// now build the test
|
||||||
if (!cmSystemTools::RunCommand(MAKECOMMAND, output))
|
std::string makeCommand = MAKEPROGRAM;
|
||||||
|
makeCommand += " ";
|
||||||
|
makeCommand += argv[3];
|
||||||
|
#ifdef _WIN32
|
||||||
|
makeCommand += ".dsw /MAKE \"ALL_BUILD - Release\" /REBUILD";
|
||||||
|
#endif
|
||||||
|
if (!cmSystemTools::RunCommand(makeCommand.c_str(), output))
|
||||||
{
|
{
|
||||||
std::cerr << "Error: " MAKECOMMAND " execution failed\n";
|
std::cerr << "Error: " << makeCommand.c_str() << " execution failed\n";
|
||||||
std::cerr << output.c_str() << "\n";
|
std::cerr << output.c_str() << "\n";
|
||||||
// return to the original directory
|
// return to the original directory
|
||||||
cmSystemTools::ChangeDirectory(cwd.c_str());
|
cmSystemTools::ChangeDirectory(cwd.c_str());
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// now run the compiled test
|
// now run the compiled test if we can find it
|
||||||
if (!cmSystemTools::RunCommand(argv[3], output))
|
// See if the executable exists as written.
|
||||||
|
std::string fullPath;
|
||||||
|
if(cmSystemTools::FileExists(argv[3]))
|
||||||
{
|
{
|
||||||
std::cerr << "Error: " << argv[3] << " execution failed\n";
|
fullPath = cmSystemTools::CollapseFullPath(argv[3]);
|
||||||
|
}
|
||||||
|
std::string tryPath = argv[3];
|
||||||
|
tryPath += cmSystemTools::GetExecutableExtension();
|
||||||
|
if(cmSystemTools::FileExists(tryPath.c_str()))
|
||||||
|
{
|
||||||
|
fullPath = cmSystemTools::CollapseFullPath(tryPath.c_str());
|
||||||
|
}
|
||||||
|
|
||||||
|
// try the release extension
|
||||||
|
tryPath = "Release/";
|
||||||
|
tryPath += cmSystemTools::GetFilenameName(argv[3]);
|
||||||
|
if(cmSystemTools::FileExists(tryPath.c_str()))
|
||||||
|
{
|
||||||
|
fullPath = cmSystemTools::CollapseFullPath(tryPath.c_str());
|
||||||
|
}
|
||||||
|
tryPath += cmSystemTools::GetExecutableExtension();
|
||||||
|
if(cmSystemTools::FileExists(tryPath.c_str()))
|
||||||
|
{
|
||||||
|
fullPath = cmSystemTools::CollapseFullPath(tryPath.c_str());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!cmSystemTools::RunCommand(fullPath.c_str(), output))
|
||||||
|
{
|
||||||
|
std::cerr << "Error: " << fullPath.c_str() << " execution failed\n";
|
||||||
// return to the original directory
|
// return to the original directory
|
||||||
cmSystemTools::ChangeDirectory(cwd.c_str());
|
cmSystemTools::ChangeDirectory(cwd.c_str());
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
#define CMAKE_COMMAND "${CMAKE_COMMAND}"
|
#define CMAKE_COMMAND "${CMAKE_COMMAND}"
|
||||||
#define MAKECOMMAND "${MAKECOMMAND}"
|
#define MAKEPROGRAM "${MAKEPROGRAM}"
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user