def raise_if_process_errored(process, exception): try: err = process.stderr.read() if err: raise exception(err) except OSError: pass
def _handle_errors(self, process): # Handle messages in the error stream of a given process. # Raise an exception if the stream is not empty and # does not match the expected message sequence. try: err = process.stderr.read() # Empty error stream is always accepted as valid # for future compatibility. if err: for message in err.splitlines(False): if not any(regex.match(message) for regex in self.IGNORED_ERROR_PATTERNS): raise exception(message) except OSError: pass