How to use _check_pid_for_dark_mark method in autotest

Best Python code snippet using autotest_python

drone_utility.py

Source:drone_utility.py Github

copy

Full Screen

...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()...

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 autotest 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