[oe-commits] [openembedded-core] 03/04: oeqa/runtime/cases/rpm.py: Enable rpm install dependency testing
git at git.openembedded.org
git at git.openembedded.org
Thu May 16 15:35:57 UTC 2019
This is an automated email from the git hooks/post-receive script.
rpurdie pushed a commit to branch master-next
in repository openembedded-core.
commit 2827b6950dc2c6a9acff1acba03fecf68a00782a
Author: Yeoh Ee Peng <ee.peng.yeoh at intel.com>
AuthorDate: Thu May 16 09:22:28 2019 +0800
oeqa/runtime/cases/rpm.py: Enable rpm install dependency testing
Convert manual testcase bsps-hw.bsps-hw.rpm_-__install_dependency_package
from oeqa/manual/bsp-hw.json to runtime automated test.
Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh at intel.com>
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
meta/lib/oeqa/runtime/cases/rpm.py | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/meta/lib/oeqa/runtime/cases/rpm.py b/meta/lib/oeqa/runtime/cases/rpm.py
index d8cabd3..f71125f 100644
--- a/meta/lib/oeqa/runtime/cases/rpm.py
+++ b/meta/lib/oeqa/runtime/cases/rpm.py
@@ -135,3 +135,33 @@ class RpmInstallRemoveTest(OERuntimeTestCase):
# Check that there's enough of them
self.assertGreaterEqual(int(output), 80,
'Cound not find sufficient amount of rpm entries in /var/log/messages, found {} entries'.format(output))
+
+ @OETestDepends(['rpm.RpmBasicTest.test_rpm_query'])
+ def test_rpm_install_dependency(self):
+ rpmdir = os.path.join(self.tc.td['DEPLOY_DIR'], 'rpm', 'noarch')
+ rpm_tests = {'run-postinsts-dev': '', 'run-postinsts': ''}
+ rpm_pattern = 'run-postinsts-*.noarch.rpm'
+ for f in fnmatch.filter(os.listdir(rpmdir), rpm_pattern):
+ if 'run-postinsts-dev' not in f and 'run-postinsts-dbg' not in f:
+ rpm_tests['run-postinsts'] = f
+ continue
+ if 'run-postinsts-dev' in f:
+ rpm_tests['run-postinsts-dev'] = f
+ continue
+ rpm_dest_dir = '/tmp'
+ for rpm in rpm_tests:
+ self.tc.target.copyTo(os.path.join(rpmdir, rpm_tests[rpm]), os.path.join(rpm_dest_dir, rpm_tests[rpm]))
+ # remove existing rpm before testing install with dependency
+ self.tc.target.run('rpm -e %s' % 'run-postinsts-dev')
+ self.tc.target.run('rpm -e %s' % 'run-postinsts')
+ status, output = self.tc.target.run('rpm -ivh %s' % os.path.join(rpm_dest_dir, rpm_tests['run-postinsts-dev']))
+ self.assertTrue(status == 1, 'rpm installed should have failed but it was getting %s' % status)
+ self.assertTrue('error: Failed dependencies:' in output,
+ 'rpm installed should have failed with error but it was getting: %s' % output)
+ # reinstall rpm with dependency
+ status, output = self.tc.target.run('rpm -ivh %s' % os.path.join(rpm_dest_dir, rpm_tests['run-postinsts']))
+ self.assertTrue(status == 0, 'rpm (%s) installed with error: %s (%s)' % (rpm_tests['run-postinsts'], status, output))
+ status, output = self.tc.target.run('rpm -ivh %s' % os.path.join(rpm_dest_dir, rpm_tests['run-postinsts-dev']))
+ self.assertTrue(status == 0, 'rpm (%s) installed with error: %s (%s)' % (rpm_tests['run-postinsts-dev'], status, output))
+ for rpm in rpm_tests:
+ self.tc.target.run('rm -f %s' % os.path.join(rpm_dest_dir, rpm_tests[rpm]))
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the Openembedded-commits
mailing list