Best Python code snippet using avocado_python
output.py
Source:output.py  
...210    records = []211    def __init__(self):212        self.stdout = self._stdout = sys.stdout213        self.stderr = self._stderr = sys.stderr214    def _paginator_in_use(self):215        """216        :return: True when we output into paginator217        """218        return bool(isinstance(sys.stdout, Paginator))219    def print_records(self):220        """221        Prints all stored messages as they occurred into streams they were222        produced for.223        """224        try:225            for stream, msg in self.records:226                if stream:227                    sys.stdout.write(msg)228                else:229                    sys.stderr.write(msg)230            del self.records[:]231        # IOError due to EPIPE is ignored.  That is to avoid having to232        # handle all IOErrors at the main application loop233        # indiscriminately.  By handling them here, we can be sure234        # that the failure was due to stdout or stderr not being235        # connected to an open PIPE.236        except IOError as e:237            if not e.errno == errno.EPIPE:238                raise239    def fake_outputs(self):240        """241        Replace sys.stdout/sys.stderr with in-memory-objects242        """243        sys.stdout = _StdOutputFile(True, self.records)244        sys.stderr = _StdOutputFile(False, self.records)245    def enable_outputs(self):246        """247        Enable sys.stdout/sys.stderr (either with 2 streams or with paginator)248        """249        sys.stdout = self.stdout250        sys.stderr = self.stderr251    def enable_paginator(self):252        """253        Enable paginator254        """255        self.stdout = self.stderr = Paginator()256    def enable_stderr(self):257        """258        Enable sys.stderr and disable sys.stdout259        """260        sys.stdout = open(os.devnull, 'w')261        sys.stderr = self.stderr262    def close(self):263        """264        Enable original sys.stdout/sys.stderr and cleanup265        """266        paginator = None267        if self._paginator_in_use():268            paginator = sys.stdout269        self.enable_outputs()270        if paginator:271            paginator.close()272STD_OUTPUT = StdOutput()273def early_start():274    """275    Replace all outputs with in-memory handlers276    """277    if os.environ.get('AVOCADO_LOG_DEBUG'):278        add_log_handler("avocado.app.debug", logging.StreamHandler, sys.stdout,279                        logging.DEBUG)280    if os.environ.get('AVOCADO_LOG_EARLY'):281        add_log_handler("", logging.StreamHandler, sys.stdout, logging.DEBUG)...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.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
