How to use get_scratch_pkg_urls method in autotest

Best Python code snippet using autotest_python

utils_koji.py

Source:utils_koji.py Github

copy

Full Screen

...358 rpm_urls = self.get_pkg_urls(pkg, arch)359 for url in rpm_urls:360 utils.get_file(url,361 os.path.join(dst_dir, os.path.basename(url)))362 def get_scratch_pkg_urls(self, pkg, arch=None):363 '''364 Gets the urls for the scratch packages specified in pkg365 :type pkg: KojiScratchPkgSpec366 :param pkg: a scratch package specification367 :type arch: string368 :param arch: packages built for this architecture, but also including369 architecture independent (noarch) packages370 '''371 rpm_urls = []372 if arch is None:373 arch = utils.get_arch()374 arches = [arch, 'noarch']375 index_url = "%s/%s/task_%s" % (self.get_scratch_base_url(),376 pkg.user,377 pkg.task)378 index_parser = KojiDirIndexParser()379 index_parser.feed(urllib.urlopen(index_url).read())380 if pkg.subpackages:381 for p in pkg.subpackages:382 for pfn in index_parser.package_file_names:383 r = RPMFileNameInfo(pfn)384 info = r.get_nvr_info()385 if (p == info['name'] and386 r.get_arch() in arches):387 rpm_urls.append("%s/%s" % (index_url, pfn))388 else:389 for pfn in index_parser.package_file_names:390 if (RPMFileNameInfo(pfn).get_arch() in arches):391 rpm_urls.append("%s/%s" % (index_url, pfn))392 return rpm_urls393 def get_scratch_pkgs(self, pkg, dst_dir, arch=None):394 '''395 Download the packages from a scratch build396 :type pkg: KojiScratchPkgSpec397 :param pkg: a scratch package specification398 :type dst_dir: string399 :param dst_dir: the destination directory, where the downloaded400 packages will be saved on401 :type arch: string402 :param arch: packages built for this architecture, but also including403 architecture independent (noarch) packages404 '''405 rpm_urls = self.get_scratch_pkg_urls(pkg, arch)406 for url in rpm_urls:407 utils.get_file(url,408 os.path.join(dst_dir, os.path.basename(url)))409def set_default_koji_tag(tag):410 '''411 Sets the default tag that will be used412 '''413 global DEFAULT_KOJI_TAG414 DEFAULT_KOJI_TAG = tag415def get_default_koji_tag():416 return DEFAULT_KOJI_TAG417class KojiPkgSpec(object):418 '''419 A package specification syntax parser for Koji...

Full Screen

Full Screen

base_installer.py

Source:base_installer.py Github

copy

Full Screen

...442 rpm_names = koji_client.get_pkg_rpm_names(pkg)443 all_rpm_names += rpm_names444 for scratch_pkg_text in self.koji_scratch_pkgs:445 pkg = utils_koji.KojiScratchPkgSpec(scratch_pkg_text)446 rpm_urls = koji_client.get_scratch_pkg_urls(pkg)447 file_names = map(os.path.basename, rpm_urls)448 for f in file_names:449 r = utils_koji.RPMFileNameInfo(f)450 all_rpm_names.append(r.get_nvr_info()['name'])451 return all_rpm_names452 def _get_rpm_file_names(self):453 all_rpm_file_names = []454 koji_client = utils_koji.KojiClient(cmd=self.koji_cmd)455 for pkg_text in self.koji_pkgs:456 pkg = utils_koji.KojiPkgSpec(pkg_text)457 rpm_file_names = koji_client.get_pkg_rpm_file_names(pkg)458 all_rpm_file_names += rpm_file_names459 for scratch_pkg_text in self.koji_scratch_pkgs:460 pkg = utils_koji.KojiScratchPkgSpec(scratch_pkg_text)461 rpm_urls = koji_client.get_scratch_pkg_urls(pkg)462 file_names = map(os.path.basename, rpm_urls)463 all_rpm_file_names += file_names464 return all_rpm_file_names465 def _install_phase_cleanup(self):466 removable_packages = " ".join(self._get_rpm_names())467 process.system("yum -y remove %s" % removable_packages)468 def _install_phase_download(self):469 koji_client = utils_koji.KojiClient(cmd=self.koji_cmd)470 for pkg_text in self.koji_pkgs:471 pkg = utils_koji.KojiPkgSpec(pkg_text)472 if pkg.is_valid():473 koji_client.get_pkgs(pkg, dst_dir=self.test_srcdir)474 else:475 logging.error('Package specification (%s) is invalid: %s' %...

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