[OE-core] [PATCH 1/2] oeqa/runtime/cases/rpm.py: Enable rpm install dependency testing
Alexander Kanavin
alex.kanavin at gmail.com
Wed May 15 19:43:02 UTC 2019
This needs the same condition guard as other rpm tests, e.g.
@OETestDepends(['rpm.RpmBasicTest.test_rpm_query'])
should be enough.
Alex
On Wed, 15 May 2019 at 04:48, Yeoh Ee Peng <ee.peng.yeoh at intel.com> wrote:
>
> 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>
> ---
> meta/lib/oeqa/runtime/cases/rpm.py | 29 +++++++++++++++++++++++++++++
> 1 file changed, 29 insertions(+)
>
> diff --git a/meta/lib/oeqa/runtime/cases/rpm.py b/meta/lib/oeqa/runtime/cases/rpm.py
> index d8cabd3..fe1b489 100644
> --- a/meta/lib/oeqa/runtime/cases/rpm.py
> +++ b/meta/lib/oeqa/runtime/cases/rpm.py
> @@ -135,3 +135,32 @@ 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))
> +
> + 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]))
> --
> 2.7.4
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
More information about the Openembedded-core
mailing list