During debugging dnf issue, we found that the test_dnf_install PASSED the testing even though the environment does not allow dnf install to run successfully. Further debugging had identified that current test_dnf_install will execute dnf install even when the package to be installed already exist, thus dnf install will just skipped and this test will PASSED even though it was not.
To solve this, added additional logic to check if the package to be installed already exist, if yes then remove the package before actually run dnf install. This will make sure dnf install was tested as expected. Signed-off-by: Yeoh Ee Peng <ee.peng.y...@intel.com> --- meta/lib/oeqa/runtime/cases/dnf.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/meta/lib/oeqa/runtime/cases/dnf.py b/meta/lib/oeqa/runtime/cases/dnf.py index 67484bc..e93a1ce 100644 --- a/meta/lib/oeqa/runtime/cases/dnf.py +++ b/meta/lib/oeqa/runtime/cases/dnf.py @@ -67,7 +67,8 @@ class DnfRepoTest(DnfTest): deploy_url = 'http://%s:%s/' %(self.target.server_ip, self.repo_server.port) cmdlinerepoopts = ["--repofrompath=oe-testimage-repo-%s,%s%s" %(arch, deploy_url, arch) for arch in pkgarchs] - self.dnf(" ".join(cmdlinerepoopts) + " --nogpgcheck " + command) + output = self.dnf(" ".join(cmdlinerepoopts) + " --nogpgcheck " + command) + return output @OETestDepends(['dnf.DnfBasicTest.test_dnf_help']) @OETestID(1744) @@ -88,6 +89,9 @@ class DnfRepoTest(DnfTest): @OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache']) @OETestID(1740) def test_dnf_install(self): + output = self.dnf_with_repo('list run-postinsts-dev') + if 'Installed Packages' in output: + self.dnf_with_repo('remove -y run-postinsts-dev') self.dnf_with_repo('install -y run-postinsts-dev') @OETestDepends(['dnf.DnfRepoTest.test_dnf_install']) -- 2.7.4 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core