Hi Armin, Yes, but wait until the patch has been accepted.
Thanks & Regards, Mazliana Mohamad -----Original Message----- From: akuster808 [mailto:akuster...@gmail.com] Sent: Friday, August 23, 2019 8:10 PM To: Mohamad, Mazliana <mazliana.moha...@intel.com>; openembedded-core@lists.openembedded.org Subject: Re: [OE-core] [PATCH v3] oeqa/kerneldevelopment: Able to apply a single patch to the Linux kernel source On 8/22/19 7:29 PM, mazliana.moha...@intel.com wrote: > From: Mazliana <mazliana.moha...@intel.com> > > Purpose of kernel development is basically to customize our own > recipes kernel by reused existing recipes. > > This is an initiative of automating manual kernel development test > cases. Applying a single patch to the Linux kernel source is one of > the manual test cases of kernel development. Doesn't this allow us to remove "kernel-dev.kernel-dev.Kernel_dev_Applying_patches" from the manual/kernel-dev.json? - armin > > Objective of this test is as a developer we can make changes of a file > in kernel source and able to apply a single patch to the kernel > source. > > ref:https://wiki.yoctoproject.org/wiki/Kernel_Development_Test_Cases > > Signed-off-by: Mazliana <mazliana.moha...@intel.com> > --- > meta/lib/oeqa/selftest/cases/kerneldevelopment.py | 67 > +++++++++++++++++++++++ > 1 file changed, 67 insertions(+) > create mode 100644 meta/lib/oeqa/selftest/cases/kerneldevelopment.py > > diff --git a/meta/lib/oeqa/selftest/cases/kerneldevelopment.py > b/meta/lib/oeqa/selftest/cases/kerneldevelopment.py > new file mode 100644 > index 0000000..a61876e > --- /dev/null > +++ b/meta/lib/oeqa/selftest/cases/kerneldevelopment.py > @@ -0,0 +1,67 @@ > +import os > +from oeqa.selftest.case import OESelftestTestCase from > +oeqa.utils.commands import runCmd, get_bb_var from oeqa.utils.git > +import GitRepo > + > +class KernelDev(OESelftestTestCase): > + > + @classmethod > + def setUpClass(cls): > + super(KernelDev, cls).setUpClass() > + # Create the recipe directory structure inside the created layer > + cls.layername = 'meta-kerneltest' > + runCmd('bitbake-layers create-layer %s' % cls.layername) > + runCmd('mkdir -p %s/recipes-kernel/linux/linux-yocto' % > cls.layername) > + cls.recipes_linuxyocto_dir = os.path.join \ > + (cls.builddir, cls.layername, 'recipes-kernel', 'linux', > 'linux-yocto') > + cls.recipeskernel_dir = os.path.dirname(cls.recipes_linuxyocto_dir) > + runCmd('bitbake-layers add-layer %s' % cls.layername) > + > + @classmethod > + def tearDownClass(cls): > + runCmd('bitbake-layers remove-layer %s' % cls.layername, > ignore_status=True) > + runCmd('rm -rf %s' % cls.layername) > + super(KernelDev, cls).tearDownClass() > + > + def setUp(self): > + super(KernelDev, self).setUp() > + self.set_machine_config('MACHINE = "qemux86-64"\n') > + > + def test_apply_patches(self): > + """ > + Summary: Able to apply a single patch to the Linux kernel source > + Expected: The README file should exist and the patch changes > should be > + displayed at the end of the file. > + Product: Kernel Development > + Author: Yeoh Ee Peng <ee.peng.y...@intel.com> > + AutomatedBy: Mazliana Mohamad <mazliana.moha...@intel.com> > + """ > + runCmd('bitbake virtual/kernel -c patch') > + kernel_source = get_bb_var('STAGING_KERNEL_DIR') > + readme = os.path.join(kernel_source, 'README') > + > + # This test step adds modified file 'README' to git and creates a > + # patch file '0001-KERNEL_DEV_TEST_CASE.patch' at the same location > as file > + patch_content = 'This is a test to apply a patch to the kernel' > + with open(readme, 'a+') as f: > + f.write(patch_content) > + repo = GitRepo('%s' % kernel_source, is_topdir=True) > + repo.run_cmd('add %s' % readme) > + repo.run_cmd(['commit', '-m', 'KERNEL_DEV_TEST_CASE']) > + repo.run_cmd(['format-patch', '-1']) > + patch_name = '0001-KERNEL_DEV_TEST_CASE.patch' > + patchpath = os.path.join(kernel_source, patch_name) > + runCmd('mv %s %s' % (patchpath, self.recipes_linuxyocto_dir)) > + runCmd('rm %s ' % readme) > + self.assertFalse(os.path.exists(readme)) > + > + recipe_append = os.path.join(self.recipeskernel_dir, > 'linux-yocto_%.bbappend') > + with open(recipe_append, 'w+') as fh: > + fh.write('SRC_URI += "file://%s"\n' % patch_name) > + fh.write('FILESEXTRAPATHS_prepend := > + "${THISDIR}/${PN}:"') > + > + runCmd('bitbake virtual/kernel -c clean') > + runCmd('bitbake virtual/kernel -c patch') > + self.assertTrue(os.path.exists(readme)) > + result = runCmd('tail -n 1 %s' % readme) > + self.assertEqual(result.output, patch_content) -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core