How to use _save_sysinfo method in avocado

Best Python code snippet using avocado_python

sysinfo.py

Source:sysinfo.py Github

copy

Full Screen

...150 genio.write_file(added_path, added_packages)151 removed_path = os.path.join(self.basedir, "removed_packages")152 removed_packages = "\n".join(old_packages - new_packages) + "\n"153 genio.write_file(removed_path, removed_packages)154 def _save_sysinfo(self, log_hook, sysinfo_dir, optimized=False):155 try:156 file_path = os.path.join(sysinfo_dir, log_hook.name)157 with open(file_path, "wb") as log_file:158 for data in log_hook.collect():159 log_file.write(data)160 if optimized:161 self._optimize(log_hook)162 except sysinfo.CollectibleException as e:163 log.debug(e.args[0])164 except Exception as exc: # pylint: disable=W0703165 log.error("Collection %s failed: %s", type(log_hook), exc)166 def _optimize(self, log_hook):167 pre_file = os.path.join(self.pre_dir, log_hook.name)168 post_file = os.path.join(self.post_dir, log_hook.name)169 if filecmp.cmp(pre_file, post_file):170 os.remove(post_file)171 log.debug("Not logging %s (no change detected)", log_hook.name)172 def start(self):173 """Log all collectibles at the start of the event."""174 os.environ["AVOCADO_SYSINFODIR"] = self.pre_dir175 for log_hook in self.start_collectibles:176 # log daemons in profile directory177 if isinstance(log_hook, sysinfo.Daemon):178 try:179 log_hook.run()180 except sysinfo.CollectibleException as e:181 log.debug(e.args[0])182 else:183 self._save_sysinfo(log_hook, self.pre_dir)184 if self.log_packages:185 self._log_installed_packages(self.pre_dir)186 def end(self, status=""):187 """188 Logging hook called whenever a job finishes.189 """190 optimized = self.config.get("sysinfo.collect.optimize")191 os.environ["AVOCADO_SYSINFODIR"] = self.post_dir192 for log_hook in self.end_collectibles:193 self._save_sysinfo(log_hook, self.post_dir, optimized)194 if status == "FAIL":195 for log_hook in self.end_fail_collectibles:196 self._save_sysinfo(log_hook, self.post_dir, optimized)197 # Stop daemon(s) started previously198 for log_hook in self.start_collectibles:199 if isinstance(log_hook, sysinfo.Daemon):200 self._save_sysinfo(log_hook, self.post_dir)201 if self.log_packages:202 self._log_modified_packages(self.post_dir)203def collect_sysinfo(basedir):204 """205 Collect sysinfo to a base directory.206 """207 output.add_log_handler(log.name)208 if not basedir:209 cwd = os.getcwd()210 timestamp = time.strftime("%Y-%m-%d-%H.%M.%S")211 basedir = os.path.join(cwd, f"sysinfo-{timestamp}")212 sysinfo_logger = SysInfo(basedir=basedir)213 sysinfo_logger.start()214 sysinfo_logger.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:

YouTube

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

Run avocado 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?

Helpful

NotHelpful