Best Python code snippet using autotest_python
serial.py
Source:serial.py
...23 path = os.path.join(server_dir, "..", "conmux", "conmux-attach")24 path = os.path.abspath(path)25 return path26 @staticmethod27 def _get_conmux_hostname(hostname, conmux_server):28 if conmux_server:29 return "%s/%s" % (conmux_server, hostname)30 else:31 return hostname32 def get_conmux_hostname(self):33 return self._get_conmux_hostname(self.hostname, self.conmux_server)34 @classmethod35 def host_is_supported(cls, hostname, conmux_server=None,36 conmux_attach=None):37 """ Returns a boolean indicating if the remote host with "hostname"38 supports use as a SerialHost """39 conmux_attach = cls._get_conmux_attach(conmux_attach)40 conmux_hostname = cls._get_conmux_hostname(hostname, conmux_server)41 cmd = "%s %s echo 2> /dev/null" % (conmux_attach, conmux_hostname)42 try:43 result = utils.run(cmd, ignore_status=True, timeout=10)44 return result.exit_status == 045 except error.CmdError:46 logging.warning("Timed out while trying to attach to conmux")47 return False48 def start_loggers(self):49 super(SerialHost, self).start_loggers()50 if self.__console_log is None:51 return52 if not self.conmux_attach or not os.path.exists(self.conmux_attach):53 return54 r, w = os.pipe()55 script_path = os.path.join(self.monitordir, 'console.py')56 cmd = [self.conmux_attach, self.get_conmux_hostname(),57 '%s %s %s %d' % (sys.executable, script_path,58 self.__console_log, w)]59 self.__warning_stream = os.fdopen(r, 'r', 0)60 if self.job:61 self.job.warning_loggers.add(self.__warning_stream)62 stdout = stderr = open(os.devnull, 'w')63 self.__logger = subprocess.Popen(cmd, stdout=stdout, stderr=stderr)64 os.close(w)65 def stop_loggers(self):66 super(SerialHost, self).stop_loggers()67 if self.__logger:68 utils.nuke_subprocess(self.__logger)69 self.__logger = None70 if self.job:71 self.job.warning_loggers.discard(self.__warning_stream)72 self.__warning_stream.close()73 def run_conmux(self, cmd):74 """75 Send a command to the conmux session76 """77 if not self.conmux_attach or not os.path.exists(self.conmux_attach):78 return False79 cmd = '%s %s echo %s 2> /dev/null' % (self.conmux_attach,80 self.get_conmux_hostname(),81 cmd)82 result = utils.system(cmd, ignore_status=True)83 return result == 084 def hardreset(self, timeout=DEFAULT_REBOOT_TIMEOUT, wait=True,85 conmux_command='hardreset', num_attempts=1):86 """87 Reach out and slap the box in the power switch.88 Args:89 conmux_command: The command to run via the conmux interface90 timeout: timelimit in seconds before the machine is91 considered unreachable92 wait: Whether or not to wait for the machine to reboot93 """94 conmux_command = "'~$%s'" % conmux_command...
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!!