def reproduce_crash(self): """Reproduce the crash, running gestures if necessary.""" with Xvfb(self.options.disable_xvfb) as display_name: self.environment['DISPLAY'] = display_name # stdin needs to be UserStdin. Otherwise, it wouldn't work with gdb. process = common.start_execute(self.binary_path, self.args, self.build_directory, env=self.environment, stdin=common.UserStdin(), redirect_stderr_to_stdout=True) if self.gestures: self.run_gestures(process, display_name) # read_buffer_length needs to be 1. Otherwise, it wouldn't work well with # gdb. err, out = common.wait_execute( process, exit_on_error=False, timeout=self.timeout, stdout_transformer=output_transformer.Identity(), read_buffer_length=1) return err, symbolize(out, self.source_directory)
def reproduce_crash(self): """Reproduce the crash, running gestures if necessary.""" with Xvfb(self.disable_xvfb) as display_name: self.environment['DISPLAY'] = display_name process = common.start_execute(self.binary_path, self.args, os.path.dirname(self.binary_path), env=self.environment) if self.gestures: self.run_gestures(process, display_name) err, out = common.wait_execute(process, exit_on_error=False, timeout=TEST_TIMEOUT) return err, self.post_run_symbolize(out)
def reproduce_crash(self): """Reproduce the crash, running gestures if necessary.""" with Xvfb(self.options.disable_xvfb) as display_name: self.environment['DISPLAY'] = display_name process = common.start_execute(self.binary_path, self.args, os.path.dirname(self.binary_path), env=self.environment, redirect_stderr_to_stdout=True) if self.gestures: self.run_gestures(process, display_name) err, out = common.wait_execute( process, exit_on_error=False, timeout=TEST_TIMEOUT, stdout_transformer=output_transformer.Identity()) return err, self.post_run_symbolize(out)