Best Python code snippet using autotest_python
drone_utility.py
Source:drone_utility.py  
...78            utils.run(build_extern_cmd)79    def _warn(self, warning):80        self.warnings.append(warning)81    @staticmethod82    def _check_pid_for_dark_mark(pid, open=open):83        try:84            env_file = open('/proc/%s/environ' % pid, 'rb')85        except EnvironmentError:86            return False87        try:88            env_data = env_file.read()89        finally:90            env_file.close()91        return DARK_MARK_ENVIRONMENT_VAR in env_data92    _PS_ARGS = ('pid', 'pgid', 'ppid', 'comm', 'args')93    @classmethod94    def _get_process_info(cls):95        """96        :return: A generator of dicts with cls._PS_ARGS as keys and97                string values each representing a running process.98        """99        ps_proc = subprocess.Popen(100            ['/bin/ps', 'x', '-o', ','.join(cls._PS_ARGS)],101            stdout=subprocess.PIPE)102        ps_output = ps_proc.communicate()[0]103        # split each line into the columns output by ps104        split_lines = [line.split(None, 4) for line in ps_output.splitlines()]105        return (dict(itertools.izip(cls._PS_ARGS, line_components))106                for line_components in split_lines)107    def _refresh_processes(self, command_name, open=open,108                           site_check_parse=None):109        if type(command_name) == str:110            command_name = [command_name]111        # The open argument is used for test injection.112        check_mark = settings.get_value('SCHEDULER',113                                        'check_processes_for_dark_mark',114                                        bool, False)115        processes = []116        for info in self._get_process_info():117            is_parse = (site_check_parse and site_check_parse(info))118            if info['comm'] in command_name or is_parse:119                if (check_mark and not120                        self._check_pid_for_dark_mark(info['pid'], open=open)):121                    self._warn('%(comm)s process pid %(pid)s has no '122                               'dark mark; ignoring.' % info)123                    continue124                processes.append(info)125        return processes126    def _read_pidfiles(self, pidfile_paths):127        pidfiles = {}128        for pidfile_path in pidfile_paths:129            if not os.path.exists(pidfile_path):130                continue131            try:132                file_object = open(pidfile_path, 'r')133                pidfiles[pidfile_path] = file_object.read()134                file_object.close()...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!!
