Add an -append-exit-code option to bugpoint. This will cause bugpoint to

append "exit <retcode>" to the end of the output file. This is used by
the nightly tester to make bugpoint match the output generated by the
RunSafely.sh script so it doesn't find false positives.

llvm-svn: 31960
This commit is contained in:
Reid Spencer 2006-11-28 07:04:10 +00:00
parent 21052cd48f
commit d077fe70e9
1 changed files with 11 additions and 0 deletions

View File

@ -56,6 +56,11 @@ namespace {
cl::desc("Assume nonzero exit code is failure (default on)"),
cl::init(true));
cl::opt<bool>
AppendProgramExitCode("append-exit-code",
cl::desc("Append the exit code to the output so it gets diff'd too"),
cl::init(false));
cl::opt<std::string>
InputFile("input", cl::init("/dev/null"),
cl::desc("Filename to pipe in as stdin (default: /dev/null)"));
@ -277,6 +282,12 @@ std::string BugDriver::executeProgram(std::string OutputFile,
}
}
if (AppendProgramExitCode) {
std::ofstream outFile(OutputFile.c_str(), std::ios_base::app);
outFile << "exit " << RetVal << '\n';
outFile.close();
}
if (ProgramExitedNonzero != 0)
*ProgramExitedNonzero = (RetVal != 0);