Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Changqing Li <changqing.li@windriver.com>
To: <openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH V3] dnf.py: installroot support usrmerge
Date: Wed, 4 Sep 2019 16:04:34 +0800	[thread overview]
Message-ID: <ef8f2598-6a4b-7087-2375-beac482e3924@windriver.com> (raw)
In-Reply-To: <1567485996-351404-1-git-send-email-changqing.li@windriver.com>

[-- Attachment #1: Type: text/plain, Size: 5494 bytes --]

Ping

Test with/without  usrmege feature passed.

With usrmerge:

*NOTE: test_dnf_installroot (dnf.DnfRepoTest)
DEBUG: Checking if 'DISTRO_FEATURES' value contains 'usrmerge' to skip 
the test
NOTE:  ... skipped 'Test run when not enable usrmerge'
Test run when not enable usrmerge
NOTE: test_dnf_installroot_usrmerge (dnf.DnfRepoTest)
DEBUG: Checking if 'DISTRO_FEATURES' value contains 'usrmerge' to run 
the test
DEBUG: [Running]$ ssh -l root -o UserKnownHostsFile=/dev/null -o 
StrictHostKeyChecking=no -o LogLevel=ERROR 192.168.7.16 export 
PATH=/usr/sbin:/sbin:/usr/bin:/bin; mkdir -p /home/root/chroot/test/etc
....*


Without usrmerge:

*NOTE: test_dnf_installroot (dnf.DnfRepoTest)**
**DEBUG: Checking if 'DISTRO_FEATURES' value contains 'usrmerge' to skip 
the test**
**DEBUG: [Running]$ ssh -l root -o UserKnownHostsFile=/dev/null -o 
StrictHostKeyChecking=no -o LogLevel=ERROR 192.168.7.10 export 
PATH=/usr/sbin:/sbin:/usr/bin:/bin; mkdir -p /home/root/chroot/test/etc**
**DEBUG: time: 1567404974.8490767, endtime: 1567406474.8424258**
**DEBUG: [Command returned '0' after 0.13 seconds]**
**DEBUG: Command: mkdir -p /home/root/chroot/test/etc**
**Output: **
**...*

*NOTE:  ... ok**
**NOTE: test_dnf_installroot_usrmerge (dnf.DnfRepoTest)**
**DEBUG: Checking if 'DISTRO_FEATURES' value contains 'usrmerge' to run 
the test**
**NOTE:  ... skipped 'Test run when enable usrmege'**
**Test run when enable usrmege*



On 9/3/19 12:46 PM, changqing.li@windriver.com wrote:
> From: Changqing Li <changqing.li@windriver.com>
>
> Signed-off-by: Changqing Li <changqing.li@windriver.com>
> ---
>   meta/lib/oeqa/runtime/cases/dnf.py | 34 +++++++++++++++++++++++++++++++++-
>   1 file changed, 33 insertions(+), 1 deletion(-)
>
> diff --git a/meta/lib/oeqa/runtime/cases/dnf.py b/meta/lib/oeqa/runtime/cases/dnf.py
> index 629b9af..80cc86a 100644
> --- a/meta/lib/oeqa/runtime/cases/dnf.py
> +++ b/meta/lib/oeqa/runtime/cases/dnf.py
> @@ -9,7 +9,7 @@ from oeqa.utils.httpserver import HTTPService
>   
>   from oeqa.runtime.case import OERuntimeTestCase
>   from oeqa.core.decorator.depends import OETestDepends
> -from oeqa.core.decorator.data import skipIfNotDataVar, skipIfNotFeature
> +from oeqa.core.decorator.data import skipIfNotDataVar, skipIfNotFeature, skipIfInDataVar, skipIfNotInDataVar
>   from oeqa.runtime.decorator.package import OEHasPackage
>   
>   class DnfTest(OERuntimeTestCase):
> @@ -116,6 +116,7 @@ class DnfRepoTest(DnfTest):
>           self.dnf_with_repo('reinstall -y run-postinsts-dev')
>   
>       @OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache'])
> +    @skipIfInDataVar('DISTRO_FEATURES', 'usrmerge', 'Test run when not enable usrmerge')
>       def test_dnf_installroot(self):
>           rootpath = '/home/root/chroot/test'
>           #Copy necessary files to avoid errors with not yet installed tools on
> @@ -141,6 +142,37 @@ class DnfRepoTest(DnfTest):
>           self.assertEqual(0, status, output)
>   
>       @OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache'])
> +    @skipIfNotInDataVar('DISTRO_FEATURES', 'usrmerge', 'Test run when enable usrmege')
> +    def test_dnf_installroot_usrmerge(self):
> +        rootpath = '/home/root/chroot/test'
> +        #Copy necessary files to avoid errors with not yet installed tools on
> +        #installroot directory.
> +        self.target.run('mkdir -p %s/etc' % rootpath, 1500)
> +        self.target.run('mkdir -p %s/usr/bin %s/usr/sbin' % (rootpath, rootpath), 1500)
> +        self.target.run('ln -sf -r %s/usr/bin %s/bin'  % (rootpath, rootpath), 1500)
> +        self.target.run('ln -sf -r %s/usr/sbin %s/sbin'  % (rootpath, rootpath), 1500)
> +        self.target.run('mkdir -p %s/dev' % rootpath, 1500)
> +        #Handle different architectures lib dirs
> +        self.target.run('mkdir -p %s/usr/lib' % rootpath, 1500)
> +        self.target.run('mkdir -p %s/usr/libx32' % rootpath, 1500)
> +        self.target.run('mkdir -p %s/usr/lib64' % rootpath, 1500)
> +        self.target.run('cp /lib/libtinfo.so.5 %s/usr/lib' % rootpath, 1500)
> +        self.target.run('cp /libx32/libtinfo.so.5 %s/usr/libx32' % rootpath, 1500)
> +        self.target.run('cp /lib64/libtinfo.so.5 %s/usr/lib64' % rootpath, 1500)
> +        self.target.run('ln -sf -r %s/lib %s/usr/lib' % (rootpath,rootpath), 1500)
> +        self.target.run('ln -sf -r %s/libx32 %s/usr/libx32' % (rootpath,rootpath), 1500)
> +        self.target.run('ln -sf -r %s/lib64 %s/usr/lib64' % (rootpath,rootpath), 1500)
> +        self.target.run('cp -r /etc/rpm %s/etc' % rootpath, 1500)
> +        self.target.run('cp -r /etc/dnf %s/etc' % rootpath, 1500)
> +        self.target.run('cp /bin/sh %s/bin' % rootpath, 1500)
> +        self.target.run('mount -o bind /dev %s/dev/' % rootpath, 1500)
> +        self.dnf_with_repo('install --installroot=%s -v -y --rpmverbosity=debug busybox run-postinsts' % rootpath)
> +        status, output = self.target.run('test -e %s/var/cache/dnf' % rootpath, 1500)
> +        self.assertEqual(0, status, output)
> +        status, output = self.target.run('test -e %s/bin/busybox' % rootpath, 1500)
> +        self.assertEqual(0, status, output)
> +
> +    @OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache'])
>       def test_dnf_exclude(self):
>           excludepkg = 'curl-dev'
>           self.dnf_with_repo('install -y curl*')

-- 
BRs

Sandy(Li Changqing)


[-- Attachment #2: Type: text/html, Size: 6634 bytes --]

  reply	other threads:[~2019-09-04  8:04 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-03  4:46 [PATCH V3] dnf.py: installroot support usrmerge changqing.li
2019-09-04  8:04 ` Changqing Li [this message]
2019-09-04  8:15   ` Richard Purdie
2019-09-04  8:36     ` Changqing Li
2019-09-05 18:25       ` Randy MacLeod
2019-09-06 21:50         ` richard.purdie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ef8f2598-6a4b-7087-2375-beac482e3924@windriver.com \
    --to=changqing.li@windriver.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox