summaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa/runtime/cases/dnf.py
diff options
context:
space:
mode:
Diffstat (limited to 'meta/lib/oeqa/runtime/cases/dnf.py')
-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)