How to use _generate_control_file method in autotest

Best Python code snippet using autotest_python

site_job.py

Source:site_job.py Github

copy

Full Screen

...46 # creating the new control file47 #48 if (self.command_line_options.template and49 self.command_line_options.control_file):50 generated_control_file = self._generate_control_file()51 self.data['control_file'] = open(generated_control_file).read()52 if self.command_line_options.koji_pkg:53 if self.koji_client is None:54 self.koji_client = virt_utils.KojiClient()55 return (self.command_line_options, self.command_line_leftover)56 def _process_options(self):57 '''58 Process all options given on command line59 '''60 all_options_valid = True61 self._set_koji_tag()62 if not self._check_koji_packages():63 all_options_valid = False64 return all_options_valid65 def _set_koji_tag(self):66 '''67 Sets the default koji tag.68 Configuration item on file is: koji_tag69 '''70 if self.command_line_options.koji_tag is not None:71 virt_utils.set_default_koji_tag(self.command_line_options.koji_tag)72 def _check_koji_packages(self):73 '''74 Check if packages specification are valid and exist on koji/brew75 Configuration item on file is: koji_pkgs76 '''77 all_packages_found = True78 if self.command_line_options.koji_pkg is not None:79 logging.debug('Checking koji packages specification')80 for pkg_spec_text in self.command_line_options.koji_pkg:81 pkg_spec = virt_utils.KojiPkgSpec(pkg_spec_text)82 if not (pkg_spec.is_valid() and83 self.koji_client.is_pkg_valid(pkg_spec)):84 logging.error('Koji package spec is not valid, skipping: '85 '%s' % pkg_spec)86 all_packages_found = False87 else:88 rpms = self.koji_client.get_pkg_rpm_info(89 pkg_spec,90 self.command_line_options.koji_arch)91 for subpackage in pkg_spec.subpackages:92 if subpackage not in [rpm['name'] for rpm in rpms]:93 logging.error('Package specified but not found in '94 'koji: %s' % subpackage)95 all_packages_found = False96 rpms = ", ".join(rpm['nvr'] for rpm in rpms)97 logging.debug('Koji package spec is valid')98 logging.debug('Koji packages to be fetched and installed: '99 '%s' % rpms)100 return all_packages_found101 def _generate_job_config(self):102 '''103 Converts all options given on the command line to config file syntax104 '''105 extra = []106 if self.command_line_options.extra_cartesian_config:107 extra += self.command_line_options.extra_cartesian_config108 if self.command_line_options.koji_tag:109 extra.append("koji_tag = %s" % self.command_line_options.koji_tag)110 if self.command_line_options.koji_pkg:111 koji_pkgs = []112 for koji_pkg in self.command_line_options.koji_pkg:113 koji_pkgs.append('"%s"' % koji_pkg)114 extra.append("koji_pkgs = [%s]" % ', '.join(koji_pkgs))115 # add quotes...116 extra = ["'%s'" % e for e in extra]117 # ... and return as string that will be eval'd as a Python list118 return "[%s]" % ', '.join(extra)119 def _generate_control_file(self):120 '''121 Generates a controle file from a template122 '''123 custom_job_cfg = self._generate_job_config()124 input_file = self.command_line_options.control_file125 logging.debug('Generating control file from template: %s' % input_file)126 template = string.Template(open(input_file).read())127 output_fd, path = tempfile.mkstemp(prefix='atest_control_', dir='/tmp')128 logging.debug('Generated control file to be saved at: %s' % path)129 parameters_dict = {"custom_job_cfg": custom_job_cfg}130 control_file_text = template.substitute(parameters_dict)131 os.write(output_fd, control_file_text)132 os.close(output_fd)133 return path...

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