summaryrefslogtreecommitdiffstats
path: root/meta/lib
diff options
context:
space:
mode:
authorJose Perez Carranza <jose.perez.carranza@linux.intel.com>2017-11-30 10:23:02 -0600
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-02-25 22:27:45 +0000
commit79d42d2b2f55bbff4e32d0e92ba8b1c047ab3af3 (patch)
tree566bf09b92275e34b567ca7dd1c525a456c96f23 /meta/lib
parent4fee712eda7ad3a0f07b8a1daf93c2287a682d76 (diff)
downloadpoky-79d42d2b2f55bbff4e32d0e92ba8b1c047ab3af3.tar.gz
runtime/dnf: Add new dnf test cases
Add test cases to test “exclude” and “installroot“ options, also modify the logic of filtering packages on the feed to have all the packages needed by the tests. [YOCTO #10744] (From OE-Core rev: 1121806603c6f621d084b692216f3f616a0768dc) (From OE-Core rev: e1b050f53ece2a31cd6866d2d737d7c67a44cea4) Signed-off-by: Jose Perez Carranza <jose.perez.carranza@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib')
-rw-r--r--meta/lib/oeqa/runtime/cases/dnf.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/meta/lib/oeqa/runtime/cases/dnf.py b/meta/lib/oeqa/runtime/cases/dnf.py
index 2f87296b4e..7da31cbf88 100644
--- a/meta/lib/oeqa/runtime/cases/dnf.py
+++ b/meta/lib/oeqa/runtime/cases/dnf.py
@@ -120,4 +120,44 @@ class DnfRepoTest(DnfTest):
120 def test_dnf_reinstall(self): 120 def test_dnf_reinstall(self):
121 self.dnf_with_repo('reinstall -y run-postinsts-dev') 121 self.dnf_with_repo('reinstall -y run-postinsts-dev')
122 122
123 @OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache'])
124 @OETestID(1771)
125 def test_dnf_installroot(self):
126 rootpath = '/home/root/chroot/test'
127 #Copy necessary files to avoid errors with not yet installed tools on
128 #installroot directory.
129 self.target.run('mkdir -p %s/etc' % rootpath, 1500)
130 self.target.run('mkdir -p %s/bin %s/sbin %s/usr/bin %s/usr/sbin' % (rootpath, rootpath, rootpath, rootpath), 1500)
131 self.target.run('mkdir -p %s/dev' % rootpath, 1500)
132 #Handle different architectures lib dirs
133 self.target.run('mkdir -p %s/lib' % rootpath, 1500)
134 self.target.run('mkdir -p %s/libx32' % rootpath, 1500)
135 self.target.run('mkdir -p %s/lib64' % rootpath, 1500)
136 self.target.run('cp /lib/libtinfo.so.5 %s/lib' % rootpath, 1500)
137 self.target.run('cp /libx32/libtinfo.so.5 %s/libx32' % rootpath, 1500)
138 self.target.run('cp /lib64/libtinfo.so.5 %s/lib64' % rootpath, 1500)
139 self.target.run('cp -r /etc/rpm %s/etc' % rootpath, 1500)
140 self.target.run('cp -r /etc/dnf %s/etc' % rootpath, 1500)
141 self.target.run('cp /bin/sh %s/bin' % rootpath, 1500)
142 self.target.run('mount -o bind /dev %s/dev/' % rootpath, 1500)
143 self.dnf_with_repo('install --installroot=%s -v -y --rpmverbosity=debug busybox run-postinsts' % rootpath)
144 status, output = self.target.run('test -e %s/var/cache/dnf' % rootpath, 1500)
145 self.assertEqual(0, status, output)
146 status, output = self.target.run('test -e %s/bin/busybox' % rootpath, 1500)
147 self.assertEqual(0, status, output)
123 148
149 @OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache'])
150 @OETestID(1772)
151 def test_dnf_exclude(self):
152 excludepkg = 'curl-dev'
153 self.dnf_with_repo('install -y curl*')
154 self.dnf('list %s' % excludepkg, 0)
155 #Avoid remove dependencies to skip some errors on different archs and images
156 self.dnf_with_repo('remove --setopt=clean_requirements_on_remove=0 -y curl*')
157 #check curl-dev is not installed adter removing all curl occurrences
158 status, output = self.target.run('dnf list --installed | grep %s'% excludepkg, 1500)
159 self.assertEqual(1, status, "%s was not removed, is listed as installed"%excludepkg)
160 self.dnf_with_repo('install -y --exclude=%s curl*' % excludepkg)
161 #check curl-dev is not installed after being excluded
162 status, output = self.target.run('dnf list --installed | grep %s'% excludepkg , 1500)
163 self.assertEqual(1, status, "%s was not excluded, is listed as installed"%excludepkg)