Best Python code snippet using autotest_python
autotest.py
Source:autotest.py
...722 for entry in log_list:723 self.job.record_entry(entry, log_in_subdir=False)724 if log_list:725 self.last_line = log_list[-1].render()726 def _process_quoted_line(self, tag, line):727 """Process a line quoted with an AUTOTEST_STATUS flag. If the728 tag is blank then we want to push out all the data we've been729 building up in self.logs, and then the newest line. If the730 tag is not blank, then push the line into the logs for handling731 later."""732 entry = base_job.status_log_entry.parse(line)733 if entry is None:734 return # the line contains no status lines735 if tag == "":736 self._process_logs()737 self.job.record_entry(entry, log_in_subdir=False)738 self.last_line = line739 else:740 tag_parts = [int(x) for x in tag.split(".")]741 log_dict = self.logs742 for part in tag_parts:743 log_dict = log_dict.setdefault(part, {})744 log_list = log_dict.setdefault("logs", [])745 log_list.append(entry)746 def _process_info_line(self, line):747 """Check if line is an INFO line, and if it is, interpret any control748 messages (e.g. enabling/disabling warnings) that it may contain."""749 match = re.search(r"^\t*INFO\t----\t----(.*)\t[^\t]*$", line)750 if not match:751 return # not an INFO line752 for field in match.group(1).split('\t'):753 if field.startswith("warnings.enable="):754 func = self.job.warning_manager.enable_warnings755 elif field.startswith("warnings.disable="):756 func = self.job.warning_manager.disable_warnings757 else:758 continue759 warning_type = field.split("=", 1)[1]760 func(warning_type)761 def _process_line(self, line):762 """Write out a line of data to the appropriate stream. Status763 lines sent by autotest will be prepended with764 "AUTOTEST_STATUS", and all other lines are ssh error765 messages."""766 status_match = self.status_parser.search(line)767 test_complete_match = self.test_complete_parser.search(line)768 fetch_package_match = self.fetch_package_parser.search(line)769 if status_match:770 tag, line = status_match.groups()771 self._process_info_line(line)772 self._process_quoted_line(tag, line)773 elif test_complete_match:774 self._process_logs()775 fifo_path, = test_complete_match.groups()776 try:777 self.log_collector.collect_client_job_results()778 self.host.run("echo A > %s" % fifo_path)779 except Exception:780 msg = "Post-test log collection failed, continuing anyway"781 logging.exception(msg)782 elif fetch_package_match:783 pkg_name, dest_path, fifo_path = fetch_package_match.groups()784 serve_packages = global_config.global_config.get_config_value(785 "PACKAGES", "serve_packages_from_autoserv", type=bool)786 if serve_packages and pkg_name.endswith(".tar.bz2"):...
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!!