Best Python code snippet using autotest_python
xen.py
Source:xen.py  
...40        if self.kjob is None:41            # get xen kernel tree ready42            self.log("prep-ing xen'ified kernel source tree")43            utils.system('make prep-kernels')44            v = self.get_xen_kernel_build_ver()45            self.log('building xen kernel version: %s' % v)46            # build xen-ified kernel in xen tree47            kernel_base_tree = os.path.join(self.build_dir, \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'...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!!
