All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.