From 6d5f0029fc06dbb9968c770a5101e109ddfa63f7 Mon Sep 17 00:00:00 2001 From: Reid Kleckner Date: Wed, 11 Sep 2019 20:29:22 +0000 Subject: [llvm-reduce] Fix a bug, improve error handling when running test llvm::sys::ExecuteAndWait can report errors, so let's make use of that. Second, while iterating uses of functions to remove, a call can appear multiple times. Use a SetVector so we don't attempt to erase such a call twice. llvm-svn: 371653 --- llvm/tools/llvm-reduce/TestRunner.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'llvm/tools/llvm-reduce/TestRunner.cpp') diff --git a/llvm/tools/llvm-reduce/TestRunner.cpp b/llvm/tools/llvm-reduce/TestRunner.cpp index 2fd01abfd47..1940e426941 100644 --- a/llvm/tools/llvm-reduce/TestRunner.cpp +++ b/llvm/tools/llvm-reduce/TestRunner.cpp @@ -44,10 +44,14 @@ int TestRunner::run(StringRef Filename) { ProgramArgs.push_back(Arg.c_str()); Optional Redirects[3]; // STDIN, STDOUT, STDERR - int Result = sys::ExecuteAndWait(TestName, ProgramArgs, None, Redirects); + std::string ErrMsg; + int Result = + sys::ExecuteAndWait(TestName, ProgramArgs, None, Redirects, + /*SecondsToWait=*/0, /*MemoryLimit=*/0, &ErrMsg); if (Result < 0) { - Error E = make_error("Error running interesting-ness test\n", + Error E = make_error("Error running interesting-ness test: " + + ErrMsg, inconvertibleErrorCode()); errs() << toString(std::move(E)); exit(1); -- cgit v1.2.3