mirror of
https://git.yoctoproject.org/poky
synced 2026-09-15 15:49:32 +02:00
oeqa/runtime/dnf: rewrite test_dnf_installroot_usrmerge
This test doesn't get exercised on the autobuilder and so it was broken: specifically some of the ln commands silently fail and the chroot isn't usable. Rewrite the test case to correctly construct a chroot so the test can pass. (From OE-Core rev: 6f5e10d682be54a70456c4cea9abbde4add1fead) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit bb6ebb9956a42df3ed8681aec9aedf340b12f934) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
fcab0b528d
commit
452dbb90db
@@ -147,29 +147,21 @@ class DnfRepoTest(DnfTest):
|
|||||||
rootpath = '/home/root/chroot/test'
|
rootpath = '/home/root/chroot/test'
|
||||||
#Copy necessary files to avoid errors with not yet installed tools on
|
#Copy necessary files to avoid errors with not yet installed tools on
|
||||||
#installroot directory.
|
#installroot directory.
|
||||||
self.target.run('mkdir -p %s/etc' % rootpath, 1500)
|
self.target.run('mkdir -p %s/etc' % rootpath)
|
||||||
self.target.run('mkdir -p %s/usr/bin %s/usr/sbin' % (rootpath, rootpath), 1500)
|
self.target.run('mkdir -p %s/usr/bin %s/usr/sbin' % (rootpath, rootpath))
|
||||||
self.target.run('ln -sf -r %s/usr/bin %s/bin' % (rootpath, rootpath), 1500)
|
self.target.run('ln -sf usr/bin %s/bin' % (rootpath))
|
||||||
self.target.run('ln -sf -r %s/usr/sbin %s/sbin' % (rootpath, rootpath), 1500)
|
self.target.run('ln -sf usr/sbin %s/sbin' % (rootpath))
|
||||||
self.target.run('mkdir -p %s/dev' % rootpath, 1500)
|
self.target.run('mkdir -p %s/dev' % rootpath)
|
||||||
#Handle different architectures lib dirs
|
#Handle different architectures lib dirs
|
||||||
self.target.run('mkdir -p %s/usr/lib' % rootpath, 1500)
|
self.target.run("for l in /lib*; do mkdir -p %s/usr/$l; ln -s usr/$l %s/$l; done" % (rootpath, rootpath))
|
||||||
self.target.run('mkdir -p %s/usr/libx32' % rootpath, 1500)
|
self.target.run('cp -r /etc/rpm %s/etc' % rootpath)
|
||||||
self.target.run('mkdir -p %s/usr/lib64' % rootpath, 1500)
|
self.target.run('cp -r /etc/dnf %s/etc' % rootpath)
|
||||||
self.target.run('cp /lib/libtinfo.so.5 %s/usr/lib' % rootpath, 1500)
|
self.target.run('cp /bin/busybox %s/bin/sh' % rootpath)
|
||||||
self.target.run('cp /libx32/libtinfo.so.5 %s/usr/libx32' % rootpath, 1500)
|
self.target.run('mount -o bind /dev %s/dev/' % rootpath)
|
||||||
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' % rootpath)
|
self.dnf_with_repo('install --installroot=%s -v -y --rpmverbosity=debug busybox' % rootpath)
|
||||||
status, output = self.target.run('test -e %s/var/cache/dnf' % rootpath, 1500)
|
status, output = self.target.run('test -e %s/var/cache/dnf' % rootpath)
|
||||||
self.assertEqual(0, status, output)
|
self.assertEqual(0, status, output)
|
||||||
status, output = self.target.run('test -e %s/bin/busybox' % rootpath, 1500)
|
status, output = self.target.run('test -e %s/bin/busybox' % rootpath)
|
||||||
self.assertEqual(0, status, output)
|
self.assertEqual(0, status, output)
|
||||||
|
|
||||||
@OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache'])
|
@OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache'])
|
||||||
|
|||||||
Reference in New Issue
Block a user