Best Python code snippet using autotest_python
version_1.py
Source:version_1.py  
...148        running_test = None149        running_reasons = set()150        yield []   # we're ready to start running151        # create a RUNNING SERVER_JOB entry to represent the entire test152        running_job = test.parse_partial_test(self.job, "----", "SERVER_JOB",153                                              "", current_kernel,154                                              self.job.started_time)155        new_tests.append(running_job)156        while True:157            # are we finished with parsing?158            if buffer.size() == 0 and self.finished:159                if stack.size() == 0:160                    break161                # we have status lines left on the stack,162                # we need to implicitly abort them first163                logging.debug('Unexpected end of job, aborting')164                abort_subdir_stack = list(subdir_stack)165                if self.job.aborted_by:166                    reason = "Job aborted by %s" % self.job.aborted_by167                    reason += self.job.aborted_on.strftime(168                        " at %b %d %H:%M:%S")169                else:170                    reason = "Job aborted unexpectedly"171                timestamp = line.optional_fields.get('timestamp')172                for i in reversed(xrange(stack.size())):173                    if abort_subdir_stack:174                        subdir = abort_subdir_stack.pop()175                    else:176                        subdir = None177                    abort = self.make_dummy_abort(178                        i, subdir, subdir, timestamp, reason)179                    buffer.put(abort)180            # stop processing once the buffer is empty181            if buffer.size() == 0:182                yield new_tests183                new_tests = []184                continue185            # reinitialize the per-iteration state186            started_time = None187            finished_time = None188            # get the next line189            raw_line = status_lib.clean_raw_line(buffer.get())190            logging.debug('STATUS: %s', raw_line.strip())191            line = status_line.parse_line(raw_line)192            if line is None:193                logging.debug('non-status line, ignoring')194                continue195            # do an initial sanity check of the indentation196            expected_indent = stack.size()197            if line.type == "END":198                expected_indent -= 1199            if line.indent < expected_indent:200                # ABORT the current level if indentation was unexpectedly low201                self.put_back_line_and_abort(202                    buffer, raw_line, stack.size() - 1, subdir_stack[-1],203                    line.optional_fields.get("timestamp"), line.reason)204                continue205            elif line.indent > expected_indent:206                # ignore the log if the indent was unexpectedly high207                logging.debug("unexpected extra indentation, ignoring")208                continue209            # initial line processing210            if line.type == "START":211                stack.start()212                started_time = line.get_timestamp()213                if (line.testname is None and line.subdir is None and214                        not running_test):215                    # we just started a client, all tests are relative to here216                    min_stack_size = stack.size()217                    # start a "RUNNING" CLIENT_JOB entry218                    job_name = "CLIENT_JOB.%d" % job_count219                    running_client = test.parse_partial_test(self.job, None,220                                                             job_name,221                                                             "", current_kernel,222                                                             started_time)223                    logging.debug("RUNNING: %s", running_client.status)224                    logging.debug("Testname: %s", running_client.testname)225                    new_tests.append(running_client)226                elif stack.size() == min_stack_size + 1 and not running_test:227                    # we just started a new test, insert a running record228                    running_reasons = set()229                    if line.reason:230                        running_reasons.add(line.reason)231                    running_test = test.parse_partial_test(self.job,232                                                           line.subdir,233                                                           line.testname,234                                                           line.reason,235                                                           current_kernel,236                                                           started_time)237                    logging.debug("RUNNING: %s", running_test.status)238                    logging.debug("Subdir: %s", running_test.subdir)239                    logging.debug("Testname: %s", running_test.testname)240                    logging.debug("Reason: %s", running_test.reason)241                    new_tests.append(running_test)242                started_time_stack.append(started_time)243                subdir_stack.append(line.subdir)244                continue245            elif line.type == "INFO":...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!!
