[Lldb-commits] [PATCH] D22404: [test] Report error when inferior test processes exit with a non-zero code
Pavel Labath via lldb-commits
lldb-commits at lists.llvm.org
Mon Jul 18 04:34:46 PDT 2016
This revision was automatically updated to reflect the committed changes.
Closed by commit rL275782: [test] Report error when inferior test processes exit with a non-zero code (authored by labath).
Changed prior to commit:
https://reviews.llvm.org/D22404?vs=64115&id=64297#toc
https://reviews.llvm.org/D22404
Files:
lldb/trunk/packages/Python/lldbsuite/test/dosep.py
lldb/trunk/packages/Python/lldbsuite/test/test_runner/process_control.py
Index: lldb/trunk/packages/Python/lldbsuite/test/test_runner/process_control.py
===================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/test_runner/process_control.py
+++ lldb/trunk/packages/Python/lldbsuite/test/test_runner/process_control.py
@@ -246,33 +246,25 @@
def is_exceptional_exit(self, popen_status):
"""Returns whether the program exit status is exceptional.
- Returns whether the return code from a Popen process is exceptional
- (e.g. signals on POSIX systems).
-
- Derived classes should override this if they can detect exceptional
- program exit.
+ Returns whether the return code from a Popen process is exceptional.
@return True if the given popen_status represents an exceptional
program exit; False otherwise.
"""
- return False
+ return popen_status != 0
def exceptional_exit_details(self, popen_status):
"""Returns the normalized exceptional exit code and a description.
Given an exceptional exit code, returns the integral value of the
- exception (e.g. signal number for POSIX) and a description (e.g.
- signal name on POSIX) for the result.
-
- Derived classes should override this if they can detect exceptional
- program exit.
+ exception and a description for the result.
- It is fine to not implement this so long as is_exceptional_exit()
- always returns False.
+ Derived classes can override this if they want to want custom
+ exceptional exit code handling.
@return (normalized exception code, symbolic exception description)
"""
- raise Exception("exception_exit_details() called on unsupported class")
+ return (popen_status, "exit")
class UnixProcessHelper(ProcessHelper):
@@ -397,16 +389,15 @@
def soft_terminate_signals(self):
return [signal.SIGQUIT, signal.SIGTERM]
- def is_exceptional_exit(self, popen_status):
- return popen_status < 0
-
@classmethod
def _signal_names_by_number(cls):
return dict(
(k, v) for v, k in reversed(sorted(signal.__dict__.items()))
if v.startswith('SIG') and not v.startswith('SIG_'))
def exceptional_exit_details(self, popen_status):
+ if popen_status >= 0:
+ return (popen_status, "exit")
signo = -popen_status
signal_names_by_number = self._signal_names_by_number()
signal_name = signal_names_by_number.get(signo, "")
Index: lldb/trunk/packages/Python/lldbsuite/test/dosep.py
===================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/dosep.py
+++ lldb/trunk/packages/Python/lldbsuite/test/dosep.py
@@ -109,13 +109,14 @@
with output_lock:
if not (RESULTS_FORMATTER and RESULTS_FORMATTER.is_using_terminal()):
print(file=sys.stderr)
- print(output, file=sys.stderr)
if timeout:
timeout_str = " (TIMEOUT)"
else:
timeout_str = ""
print("[%s FAILED]%s" % (name, timeout_str), file=sys.stderr)
print("Command invoked: %s" % ' '.join(command), file=sys.stderr)
+ print("Command stderr:\n", output[1], file=sys.stderr)
+ print("Command stdout:\n", output[0], file=sys.stderr)
update_progress(name)
@@ -210,7 +211,7 @@
# only stderr does.
report_test_pass(self.file_name, output[1])
else:
- report_test_failure(self.file_name, command, output[1], was_timeout)
+ report_test_failure(self.file_name, command, output, was_timeout)
# Save off the results for the caller.
self.results = (
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D22404.64297.patch
Type: text/x-patch
Size: 3844 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20160718/a0baf0d7/attachment.bin>
More information about the lldb-commits
mailing list