chantra / rpms / dnf

Forked from rpms/dnf 2 years ago
Clone

Blame SOURCES/0017-Set-persistdir-for-fill-sack-from-repos-in-cache-tests-RhBug-1865803.patch

862ba9
From 40e762da5cd2d876b6424f4c25b77e8dc2422a0f Mon Sep 17 00:00:00 2001
862ba9
From: =?UTF-8?q?Ale=C5=A1=20Mat=C4=9Bj?= <amatej@redhat.com>
862ba9
Date: Mon, 8 Feb 2021 08:25:46 +0100
862ba9
Subject: [PATCH] Set persistdir and substitutions for
862ba9
 fill_sack_from_repos_in_cache tests (RhBug:1865803)
862ba9
862ba9
Setting just installroot is not enough because persistdir is not
862ba9
automatically prepended with installroot if set via API.
862ba9
862ba9
Also assert exact package names which is more useful output in case the
862ba9
test fails.
862ba9
862ba9
https://bugzilla.redhat.com/show_bug.cgi?id=1865803
862ba9
---
862ba9
 tests/test_fill_sack_from_repos_in_cache.py | 19 +++++++++++++++----
862ba9
 1 file changed, 15 insertions(+), 4 deletions(-)
862ba9
862ba9
diff --git a/tests/test_fill_sack_from_repos_in_cache.py b/tests/test_fill_sack_from_repos_in_cache.py
862ba9
index f27235bf84..23fd2a4337 100644
862ba9
--- a/tests/test_fill_sack_from_repos_in_cache.py
862ba9
+++ b/tests/test_fill_sack_from_repos_in_cache.py
862ba9
@@ -42,7 +42,10 @@ class FillSackFromReposInCacheTest(unittest.TestCase):
862ba9
     def _create_cache_for_repo(self, repopath, tmpdir):
862ba9
         conf = dnf.conf.MainConf()
862ba9
         conf.cachedir = os.path.join(tmpdir, "cache")
862ba9
-        conf.installroot = os.path.join(tmpdir)
862ba9
+        conf.installroot = tmpdir
862ba9
+        conf.persistdir = os.path.join(conf.installroot, conf.persistdir.lstrip("/"))
862ba9
+        conf.substitutions["arch"] = "x86_64"
862ba9
+        conf.substitutions["basearch"] = dnf.rpm.basearch(conf.substitutions["arch"])
862ba9
 
862ba9
         base = dnf.Base(conf=conf)
862ba9
 
862ba9
@@ -69,7 +72,10 @@ def _setUp_from_repo_path(self, original_repo_path):
862ba9
         # Prepare base for the actual test
862ba9
         conf = dnf.conf.MainConf()
862ba9
         conf.cachedir = os.path.join(self.tmpdir, "cache")
862ba9
-        conf.installroot = os.path.join(self.tmpdir)
862ba9
+        conf.installroot = self.tmpdir
862ba9
+        conf.persistdir = os.path.join(conf.installroot, conf.persistdir.lstrip("/"))
862ba9
+        conf.substitutions["arch"] = "x86_64"
862ba9
+        conf.substitutions["basearch"] = dnf.rpm.basearch(conf.substitutions["arch"])
862ba9
         self.test_base = dnf.Base(conf=conf)
862ba9
         repoconf = dnf.repo.Repo(TEST_REPO_NAME, conf)
862ba9
         repoconf.baseurl = self.repo_copy_path
862ba9
@@ -231,8 +237,13 @@ def test_with_modules_yaml(self):
862ba9
 
862ba9
         q = self.test_base.sack.query()
862ba9
         packages = q.run()
862ba9
-        self.assertEqual(len(packages), 8)
862ba9
-        self.assertEqual(packages[0].evr, "2.02-0.40")
862ba9
+
862ba9
+        pkg_names = []
862ba9
+        for pkg in packages:
862ba9
+            pkg_names.append(pkg.name)
862ba9
+
862ba9
+        self.assertEqual(pkg_names, ['grub2', 'httpd', 'httpd', 'httpd-doc', 'httpd-doc', 'httpd-provides-name-doc',
862ba9
+                                     'httpd-provides-name-version-release-doc', 'libnghttp2'])
862ba9
 
862ba9
         self.module_base = dnf.module.module_base.ModuleBase(self.test_base)
862ba9
         modules, _ = self.module_base._get_modules("base-runtime*")