Best Python code snippet using autotest_python
base_classes.py
Source:base_classes.py  
...256        except error.AutoservError:257            logging.exception('Repair failed but continuing in case it managed'258                              ' to repair enough')259        self._already_repaired.append((func, args, dargs))260    def repair_filesystem_only(self):261        """perform file system repairs only"""262        while True:263            # try to repair specific problems264            try:265                logging.info('Running verify to find failures to repair...')266                self.verify()267                if self._removed_files:268                    logging.info('Removed files, rebooting to release the'269                                 ' inodes')270                    self.reboot()271                return # verify succeeded, then repair succeeded272            except error.AutoservHostIsShuttingDownError, err:273                logging.exception('verify failed')274                self._call_repair_func(err, self._repair_wait_for_reboot)275            except error.AutoservDiskFullHostError, err:276                logging.exception('verify failed')277                self._call_repair_func(err, self.repair_full_disk,278                                       self._get_mountpoint(err.path))279    def repair_software_only(self):280        """perform software repairs only"""281        while True:282            try:283                self.repair_filesystem_only()284                break285            except (error.AutoservSshPingHostError, error.AutoservSSHTimeout,286                    error.AutoservSshPermissionDeniedError,287                    error.AutoservDiskFullHostError), err:288                logging.exception('verify failed')289                logging.info('Trying to reinstall the machine')290                self._call_repair_func(err, self.machine_install)291    def repair_full(self):292        hardware_repair_requests = 0293        while True:294            try:295                self.repair_software_only()296                break297            except error.AutoservHardwareRepairRequiredError, err:298                logging.exception('software repair failed, '299                                  'hardware repair requested')300                hardware_repair_requests += 1301                try_hardware_repair = (hardware_repair_requests >=302                                       self.HARDWARE_REPAIR_REQUEST_THRESHOLD)303                if try_hardware_repair:304                    logging.info('hardware repair requested %d times, '305                                 'trying hardware repair',306                                 hardware_repair_requests)307                    self._call_repair_func(err, self.request_hardware_repair)308                else:309                    logging.info('hardware repair requested %d times, '310                                 'trying software repair again',311                                 hardware_repair_requests)312            except error.AutoservHardwareHostError, err:313                logging.exception('verify failed')314                # software repair failed, try hardware repair315                logging.info('Hardware problem found, '316                             'requesting hardware repairs')317                self._call_repair_func(err, self.request_hardware_repair)318    def repair_with_protection(self, protection_level):319        """Perform the maximal amount of repair within the specified320        protection level.321        @param protection_level: the protection level to use for limiting322                                 repairs, a host_protections.Protection323        """324        protection = host_protections.Protection325        if protection_level == protection.DO_NOT_REPAIR:326            logging.info('Protection is "Do not repair" so just verifying')327            self.verify()328        elif protection_level == protection.REPAIR_FILESYSTEM_ONLY:329            logging.info('Attempting filesystem-only repair')330            self.repair_filesystem_only()331        elif protection_level == protection.REPAIR_SOFTWARE_ONLY:332            logging.info('Attempting software repair only')333            self.repair_software_only()334        elif protection_level == protection.NO_PROTECTION:335            logging.info('Attempting full repair')336            self.repair_full()337        else:338            raise NotImplementedError('Unknown host protection level %s'339                                      % protection_level)340    def disable_ipfilters(self):341        """Allow all network packets in and out of the host."""342        self.run('iptables-save > /tmp/iptable-rules')343        self.run('iptables -P INPUT ACCEPT')344        self.run('iptables -P FORWARD ACCEPT')...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!!
