How to use fix_up_xen_kernel_makefile method in autotest

Best Python code snippet using autotest_python

xen.py

Source:xen.py Github

copy

Full Screen

...48 'linux-%s' % self.get_xen_kernel_build_ver())49 self.log('kernel_base_tree = %s' % kernel_base_tree)50 # fix up XENGUEST value in EXTRAVERSION; we can't have51 # files with '$(XENGEUST)' in the name, =(52 self.fix_up_xen_kernel_makefile(kernel_base_tree)53 # make the kernel job54 self.kjob = self.job.kernel(kernel_base_tree)55 # hardcoding dom0 config (no modules for testing, yay!)56 # FIXME: probe host to determine which config to pick57 c = self.build_dir + '/buildconfigs/linux-defconfig_xen0_x86_32'58 self.log('using kernel config: %s ' % c)59 self.kjob.config(c)60 # Xen's kernel tree sucks; doesn't use bzImage, but vmlinux61 self.kjob.set_build_target('vmlinuz')62 # also, the vmlinuz is not out in arch/*/boot, ARGH! more hackery63 self.kjob.set_build_image(self.job.tmpdir + '/build/linux/vmlinuz')64 self.kjob.build()65 self.job.logging.restore()66 xen_version = self.get_xen_build_ver()67 self.log('BUILD VERSION: Xen: %s Kernel:%s' % \68 (xen_version, self.kjob.get_kernel_build_ver()))69 def build_timed(self, *args, **kwds):70 raise NotImplementedError('build_timed() not implemented')71 def install(self, tag='', prefix = '/', extraversion='autotest'):72 """make install in the kernel tree"""73 self.log('Installing ...')74 os.chdir(self.build_dir)75 if not os.path.isdir(prefix):76 os.mkdir(prefix)77 self.boot_dir = os.path.join(prefix, 'boot')78 if not os.path.isdir(self.boot_dir):79 os.mkdir(self.boot_dir)80 # remember what we are going to install81 xen_version = '%s-%s' % (self.get_xen_build_ver(), extraversion)82 self.xen_image = self.boot_dir + '/xen-' + xen_version + '.gz'83 self.xen_syms = self.boot_dir + '/xen-syms-' + xen_version84 self.log('Installing Xen ...')85 os.environ['XEN_EXTRAVERSION'] = '-unstable-%s'% extraversion86 # install xen87 utils.system('make DESTDIR=%s -C xen install' % prefix)88 # install tools89 utils.system('make DESTDIR=%s -C tools install' % prefix)90 # install kernel91 ktag = self.kjob.get_kernel_build_ver()92 kprefix = prefix93 self.kjob.install(tag=ktag, prefix=kprefix)94 def add_to_bootloader(self, tag='autotest', args=''):95 """ add this kernel to bootloader, taking an96 optional parameter of space separated parameters97 e.g.: kernel.add_to_bootloader('mykernel', 'ro acpi=off')98 """99 # turn on xen mode100 self.job.bootloader.enable_xen_mode()101 # remove existing entry if present102 self.job.bootloader.remove_kernel(tag)103 # add xen and xen kernel104 self.job.bootloader.add_kernel(105 self.kjob.image, tag, initrd=self.kjob.initrd,106 xen_hypervisor=self.xen_image)107 # if no args passed, populate from /proc/cmdline108 if not args:109 args = open('/proc/cmdline', 'r').readline().strip()110 # add args to entry one at a time111 for a in args.split(' '):112 self.job.bootloader.add_args(tag, a)113 # turn off xen mode114 self.job.bootloader.disable_xen_mode()115 def get_xen_kernel_build_ver(self):116 """Check xen buildconfig for current kernel version"""117 version = patchlevel = sublevel = ''118 extraversion = localversion = ''119 version_file = self.build_dir + '/buildconfigs/mk.linux-2.6-xen'120 for line in open(version_file, 'r').readlines():121 if line.startswith('LINUX_VER'):122 start = line.index('=') + 1123 version = line[start:].strip() + "-xen"124 break125 return version126 def fix_up_xen_kernel_makefile(self, kernel_dir):127 """Fix up broken EXTRAVERSION in xen-ified Linux kernel Makefile"""128 xenguest = ''129 makefile = kernel_dir + '/Makefile'130 for line in open(makefile, 'r').readlines():131 if line.startswith('XENGUEST'):132 start = line.index('=') + 1133 xenguest = line[start:].strip()134 break;135 # change out $XENGUEST in EXTRAVERSION line136 utils.system('sed -i.old "s,\$(XENGUEST),%s," %s' % (xenguest,137 makefile))138 def get_xen_build_ver(self):139 """Check Makefile and .config to return kernel version"""140 version = patchlevel = sublevel = ''...

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