Re: [OE-core] [PATCH 1/2 v3] oeqa/runtime/cases/rpm.py: Enable rpm install dependency testing
Hi Richard, Yes, you are right, we are checking directory and package on the host server/machine. Actually, this message was inherited from within the rpm, I had made the correction on this new patch. I shall submit another patch to correction for the message inside existing rpm test base code. Thank you very much for your inputs. Thanks, Yeoh Ee Peng -Original Message- From: Richard Purdie [mailto:richard.pur...@linuxfoundation.org] Sent: Friday, May 17, 2019 2:02 PM To: Yeoh, Ee Peng ; openembedded-core@lists.openembedded.org Subject: Re: [OE-core] [PATCH 1/2 v3] oeqa/runtime/cases/rpm.py: Enable rpm install dependency testing Hi Ee Peng, On Fri, 2019-05-17 at 10:07 +0800, Yeoh Ee Peng 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 > --- > meta/lib/oeqa/runtime/cases/rpm.py | 34 > ++ > 1 file changed, 34 insertions(+) > > diff --git a/meta/lib/oeqa/runtime/cases/rpm.py > b/meta/lib/oeqa/runtime/cases/rpm.py > index d8cabd3..ce3fce1 100644 > --- a/meta/lib/oeqa/runtime/cases/rpm.py > +++ b/meta/lib/oeqa/runtime/cases/rpm.py > @@ -135,3 +135,37 @@ 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') > +if not os.path.exists(rpmdir): > +self.skipTest('No %s on target' % rpmdir) This message doesn't sound quite right as you're checking for rpmdir locally on the build server, not on target? Could you clarify that please? +if not rpm_tests[rpm]: +self.skipTest('No %s on target' % os.path.join(rpmdir, + rpm)) The same issue here, these files are not being searched for "on target". Cheers, Richard -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 1/2 v3] oeqa/runtime/cases/rpm.py: Enable rpm install dependency testing
Hi Ee Peng, On Fri, 2019-05-17 at 10:07 +0800, Yeoh Ee Peng 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 > --- > meta/lib/oeqa/runtime/cases/rpm.py | 34 > ++ > 1 file changed, 34 insertions(+) > > diff --git a/meta/lib/oeqa/runtime/cases/rpm.py > b/meta/lib/oeqa/runtime/cases/rpm.py > index d8cabd3..ce3fce1 100644 > --- a/meta/lib/oeqa/runtime/cases/rpm.py > +++ b/meta/lib/oeqa/runtime/cases/rpm.py > @@ -135,3 +135,37 @@ 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') > +if not os.path.exists(rpmdir): > +self.skipTest('No %s on target' % rpmdir) This message doesn't sound quite right as you're checking for rpmdir locally on the build server, not on target? Could you clarify that please? +if not rpm_tests[rpm]: +self.skipTest('No %s on target' % os.path.join(rpmdir, rpm)) The same issue here, these files are not being searched for "on target". Cheers, Richard -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 1/2 v3] 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 --- meta/lib/oeqa/runtime/cases/rpm.py | 34 ++ 1 file changed, 34 insertions(+) diff --git a/meta/lib/oeqa/runtime/cases/rpm.py b/meta/lib/oeqa/runtime/cases/rpm.py index d8cabd3..ce3fce1 100644 --- a/meta/lib/oeqa/runtime/cases/rpm.py +++ b/meta/lib/oeqa/runtime/cases/rpm.py @@ -135,3 +135,37 @@ 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') +if not os.path.exists(rpmdir): +self.skipTest('No %s on target' % rpmdir) +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: +if not rpm_tests[rpm]: +self.skipTest('No %s on target' % os.path.join(rpmdir, rpm)) +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@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core