How to use _point_stream_handlers_to_copy method in autotest

Best Python code snippet using autotest_python Github


Full Screen

...352 super(_FdRedirectionStreamManager, self).__init__(stream, level,353 stream_setter)354 self._fd = stream.fileno()355 self._fd_copy_stream = None356 def _point_stream_handlers_to_copy(self):357 """358 point logging StreamHandlers that point to this stream to a safe359 copy of the underlying FD. otherwise, StreamHandler output will go360 to the logging subprocess, effectively getting doubly logged.361 """362 fd_copy = os.dup(self._fd)363 self._fd_copy_stream = os.fdopen(fd_copy, 'w')364 self._redirect_logging_stream_handlers(self._stream,365 self._fd_copy_stream)366 def _restore_stream_handlers(self):367 """ point logging StreamHandlers back to the original FD """368 self._redirect_logging_stream_handlers(self._fd_copy_stream,369 self._stream)370 self._fd_copy_stream.close()371 def _redirect_logging_stream_handlers(self, old_stream, new_stream):372 """373 Redirect all configured logging StreamHandlers pointing to374 old_stream to point to new_stream instead.375 """376 for handler in _current_handlers():377 points_to_stream = (isinstance(handler, logging.StreamHandler) and378 hasattr(, 'fileno') and379 == old_stream.fileno())380 if points_to_stream:381 logger.removeHandler(handler)382 handler.close() # doesn't close the stream, just the handler383 new_handler = logging.StreamHandler(new_stream)384 new_handler.setLevel(handler.level)385 new_handler.setFormatter(handler.formatter)386 for log_filter in handler.filters:387 new_handler.addFilter(log_filter)388 logger.addHandler(new_handler)389 def start_logging(self):390 super(_FdRedirectionStreamManager, self).start_logging()391 self._point_stream_handlers_to_copy()392 def stop_logging(self):393 super(_FdRedirectionStreamManager, self).stop_logging()394 self._restore_stream_handlers()395 def _spawn_logging_subprocess(self):396 """397 Spawn a subprocess to log all input to the logging module with the398 current settings, and direct output to it.399 """400 read_end, write_end = os.pipe()401 pid = os.fork()402 if pid: # parent403 os.close(read_end)404 os.dup2(write_end, self._fd) # point FD to the subprocess405 os.close(write_end)...

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:


You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run autotest automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?