mirror of
https://pagure.io/fm-orchestrator.git
synced 2026-04-23 18:21:42 +08:00
Remove dangling -debug* RPMs from final MMD
If an RPM is not included, its correspnding -debug* RPMs should also not be included. Also ensure that source RPMs are only ever added to -devel modules if a binary RPM has been completely excluded from non-devel module. Internal ref: FACTORY-3263 Signed-off-by: Luiz Carvalho <lucarval@redhat.com>
This commit is contained in:
@@ -439,14 +439,14 @@ class TestBuild:
|
||||
|
||||
@pytest.mark.parametrize("devel", (False, True))
|
||||
def test_fill_in_rpms_list(self, devel):
|
||||
self._add_test_rpm("dhcp-libs-12:4.3.5-5.module_2118aef6.src", "dhcp")
|
||||
self._add_test_rpm("dhcp-libs-12:4.3.5-5.module_2118aef6.x86_64", "dhcp")
|
||||
self._add_test_rpm("dhcp-libs-12:4.3.5-5.module_2118aef6.i686", "dhcp")
|
||||
self._add_test_rpm("dhcp-libs-12:4.3.5-5.module_2118aef6.s390x", "dhcp")
|
||||
self._add_test_rpm("dhcp-libs-12:4.3.5-5.module_2118aef6.src", "dhcp")
|
||||
self._add_test_rpm("perl-Tangerine-12:4.3.5-5.module_2118aef6.src", "perl-Tangerine")
|
||||
self._add_test_rpm("perl-Tangerine-12:4.3.5-5.module_2118aef6.x86_64", "perl-Tangerine")
|
||||
self._add_test_rpm("perl-Tangerine-12:4.3.5-5.module_2118aef6.i686", "perl-Tangerine")
|
||||
self._add_test_rpm("perl-Tangerine-12:4.3.5-5.module_2118aef6.s390x", "perl-Tangerine")
|
||||
self._add_test_rpm("perl-Tangerine-12:4.3.5-5.module_2118aef6.src", "perl-Tangerine")
|
||||
|
||||
self.cg.devel = devel
|
||||
mmd = self.cg.module.mmd()
|
||||
@@ -455,10 +455,11 @@ class TestBuild:
|
||||
if not devel:
|
||||
# Only x86_64 packages should be filled in, because we requested x86_64 arch.
|
||||
assert set(mmd.get_rpm_artifacts().get()) == set([
|
||||
"dhcp-libs-12:4.3.5-5.module_2118aef6.x86_64",
|
||||
"dhcp-libs-12:4.3.5-5.module_2118aef6.src",
|
||||
"dhcp-libs-12:4.3.5-5.module_2118aef6.x86_64",
|
||||
"perl-Tangerine-12:4.3.5-5.module_2118aef6.src",
|
||||
"perl-Tangerine-12:4.3.5-5.module_2118aef6.x86_64",
|
||||
"perl-Tangerine-12:4.3.5-5.module_2118aef6.src"])
|
||||
])
|
||||
else:
|
||||
# The i686 packages are filtered out in normal packages, because multilib
|
||||
# is not enabled for them - therefore we want to include them in -devel.
|
||||
@@ -467,8 +468,10 @@ class TestBuild:
|
||||
"perl-Tangerine-12:4.3.5-5.module_2118aef6.i686"])
|
||||
|
||||
def test_fill_in_rpms_exclusivearch(self):
|
||||
self._add_test_rpm("dhcp-libs-12:4.3.5-5.module_2118aef6.src", "dhcp")
|
||||
self._add_test_rpm("dhcp-libs-12:4.3.5-5.module_2118aef6.noarch", "dhcp",
|
||||
exclusivearch=["x86_64"])
|
||||
self._add_test_rpm("perl-Tangerine-12:4.3.5-5.module_2118aef6.src", "perl-Tangerine")
|
||||
self._add_test_rpm("perl-Tangerine-12:4.3.5-5.module_2118aef6.noarch", "perl-Tangerine",
|
||||
exclusivearch=["ppc64le"])
|
||||
|
||||
@@ -478,11 +481,15 @@ class TestBuild:
|
||||
# Only dhcp-libs should be filled in, because perl-Tangerine has different
|
||||
# exclusivearch.
|
||||
assert set(mmd.get_rpm_artifacts().get()) == set([
|
||||
"dhcp-libs-12:4.3.5-5.module_2118aef6.noarch"])
|
||||
"dhcp-libs-12:4.3.5-5.module_2118aef6.src",
|
||||
"dhcp-libs-12:4.3.5-5.module_2118aef6.noarch",
|
||||
])
|
||||
|
||||
def test_fill_in_rpms_excludearch(self):
|
||||
self._add_test_rpm("dhcp-libs-12:4.3.5-5.module_2118aef6.src", "dhcp")
|
||||
self._add_test_rpm("dhcp-libs-12:4.3.5-5.module_2118aef6.noarch", "dhcp",
|
||||
excludearch=["x86_64"])
|
||||
self._add_test_rpm("perl-Tangerine-12:4.3.5-5.module_2118aef6.src", "perl-Tangerine")
|
||||
self._add_test_rpm("perl-Tangerine-12:4.3.5-5.module_2118aef6.noarch", "perl-Tangerine",
|
||||
excludearch=["ppc64le"])
|
||||
|
||||
@@ -491,14 +498,20 @@ class TestBuild:
|
||||
|
||||
# Only perl-Tangerine should be filled in, because dhcp-libs is excluded from x86_64.
|
||||
assert set(mmd.get_rpm_artifacts().get()) == set([
|
||||
"perl-Tangerine-12:4.3.5-5.module_2118aef6.noarch"])
|
||||
"perl-Tangerine-12:4.3.5-5.module_2118aef6.src",
|
||||
"perl-Tangerine-12:4.3.5-5.module_2118aef6.noarch",
|
||||
])
|
||||
|
||||
@pytest.mark.parametrize("devel", (False, True))
|
||||
def test_fill_in_rpms_rpm_whitelist(self, devel):
|
||||
self._add_test_rpm("dhcp-libs-12:4.3.5-5.module_2118aef6.src", "dhcp",
|
||||
koji_srpm_name="python27-dhcp")
|
||||
self._add_test_rpm("dhcp-libs-12:4.3.5-5.module_2118aef6.x86_64", "dhcp",
|
||||
koji_srpm_name="python27-dhcp")
|
||||
self._add_test_rpm("dhcp-libs-12:4.3.5-5.module_2118aef6.i686", "dhcp",
|
||||
koji_srpm_name="python27-dhcp")
|
||||
self._add_test_rpm("perl-Tangerine-12:4.3.5-5.module_2118aef6.src", "perl-Tangerine",
|
||||
koji_srpm_name="foo-perl-Tangerine")
|
||||
self._add_test_rpm("perl-Tangerine-12:4.3.5-5.module_2118aef6.x86_64", "perl-Tangerine",
|
||||
koji_srpm_name="foo-perl-Tangerine")
|
||||
self._add_test_rpm("perl-Tangerine-12:4.3.5-5.module_2118aef6.i686", "perl-Tangerine",
|
||||
@@ -516,19 +529,37 @@ class TestBuild:
|
||||
# Only x86_64 dhcp-libs should be filled in, because only python27-dhcp is whitelisted
|
||||
# srpm name.
|
||||
assert set(mmd.get_rpm_artifacts().get()) == set([
|
||||
"dhcp-libs-12:4.3.5-5.module_2118aef6.x86_64"])
|
||||
"dhcp-libs-12:4.3.5-5.module_2118aef6.src",
|
||||
"dhcp-libs-12:4.3.5-5.module_2118aef6.x86_64",
|
||||
])
|
||||
else:
|
||||
assert set(mmd.get_rpm_artifacts().get()) == set([
|
||||
"dhcp-libs-12:4.3.5-5.module_2118aef6.i686",
|
||||
"perl-Tangerine-12:4.3.5-5.module_2118aef6.src",
|
||||
"perl-Tangerine-12:4.3.5-5.module_2118aef6.x86_64",
|
||||
"perl-Tangerine-12:4.3.5-5.module_2118aef6.i686"])
|
||||
"perl-Tangerine-12:4.3.5-5.module_2118aef6.i686",
|
||||
])
|
||||
|
||||
@pytest.mark.parametrize("devel", (False, True))
|
||||
def test_fill_in_rpms_list_filters(self, devel):
|
||||
self._add_test_rpm("dhcp-libs-12:4.3.5-5.module_2118aef6.src", "dhcp")
|
||||
self._add_test_rpm("dhcp-libs-12:4.3.5-5.module_2118aef6.x86_64", "dhcp")
|
||||
self._add_test_rpm("dhcp-libs-debuginfo-12:4.3.5-5.module_2118aef6.x86_64", "dhcp")
|
||||
self._add_test_rpm("dhcp-libs-debugsource-12:4.3.5-5.module_2118aef6.x86_64", "dhcp")
|
||||
self._add_test_rpm("dhcp-libs-12:4.3.5-5.module_2118aef6.i686", "dhcp")
|
||||
self._add_test_rpm("dhcp-libs-debuginfo-12:4.3.5-5.module_2118aef6.i686", "dhcp")
|
||||
self._add_test_rpm("dhcp-libs-debugsource-12:4.3.5-5.module_2118aef6.i686", "dhcp")
|
||||
self._add_test_rpm("perl-Tangerine-12:4.3.5-5.module_2118aef6.src", "perl-Tangerine")
|
||||
self._add_test_rpm("perl-Tangerine-12:4.3.5-5.module_2118aef6.x86_64", "perl-Tangerine")
|
||||
self._add_test_rpm("perl-Tangerine-debuginfo-12:4.3.5-5.module_2118aef6.x86_64",
|
||||
"perl-Tangerine")
|
||||
self._add_test_rpm("perl-Tangerine-debugsource-12:4.3.5-5.module_2118aef6.x86_64",
|
||||
"perl-Tangerine")
|
||||
self._add_test_rpm("perl-Tangerine-12:4.3.5-5.module_2118aef6.i686", "perl-Tangerine")
|
||||
self._add_test_rpm("perl-Tangerine-debuginfo-12:4.3.5-5.module_2118aef6.i686",
|
||||
"perl-Tangerine")
|
||||
self._add_test_rpm("perl-Tangerine-debugsource-12:4.3.5-5.module_2118aef6.i686",
|
||||
"perl-Tangerine")
|
||||
|
||||
self.cg.devel = devel
|
||||
mmd = self.cg.module.mmd()
|
||||
@@ -541,19 +572,35 @@ class TestBuild:
|
||||
if not devel:
|
||||
# Only x86_64 perl-Tangerine should be filled in, because dhcp-libs is filtered out.
|
||||
assert set(mmd.get_rpm_artifacts().get()) == set([
|
||||
"perl-Tangerine-12:4.3.5-5.module_2118aef6.x86_64"])
|
||||
"perl-Tangerine-12:4.3.5-5.module_2118aef6.src",
|
||||
"perl-Tangerine-12:4.3.5-5.module_2118aef6.x86_64",
|
||||
"perl-Tangerine-debuginfo-12:4.3.5-5.module_2118aef6.x86_64",
|
||||
"perl-Tangerine-debugsource-12:4.3.5-5.module_2118aef6.x86_64",
|
||||
])
|
||||
else:
|
||||
assert set(mmd.get_rpm_artifacts().get()) == set([
|
||||
"dhcp-libs-12:4.3.5-5.module_2118aef6.src",
|
||||
"dhcp-libs-12:4.3.5-5.module_2118aef6.x86_64",
|
||||
"dhcp-libs-debuginfo-12:4.3.5-5.module_2118aef6.x86_64",
|
||||
"dhcp-libs-debugsource-12:4.3.5-5.module_2118aef6.x86_64",
|
||||
"dhcp-libs-12:4.3.5-5.module_2118aef6.i686",
|
||||
"perl-Tangerine-12:4.3.5-5.module_2118aef6.i686"])
|
||||
"dhcp-libs-debuginfo-12:4.3.5-5.module_2118aef6.i686",
|
||||
"dhcp-libs-debugsource-12:4.3.5-5.module_2118aef6.i686",
|
||||
"perl-Tangerine-12:4.3.5-5.module_2118aef6.i686",
|
||||
"perl-Tangerine-debuginfo-12:4.3.5-5.module_2118aef6.i686",
|
||||
"perl-Tangerine-debugsource-12:4.3.5-5.module_2118aef6.i686",
|
||||
])
|
||||
|
||||
@pytest.mark.parametrize("devel", (False, True))
|
||||
def test_fill_in_rpms_list_multilib(self, devel):
|
||||
self._add_test_rpm("dhcp-libs-12:4.3.5-5.module_2118aef6.src", "dhcp",
|
||||
multilib=["x86_64"])
|
||||
self._add_test_rpm("dhcp-libs-12:4.3.5-5.module_2118aef6.x86_64", "dhcp",
|
||||
multilib=["x86_64"])
|
||||
self._add_test_rpm("dhcp-libs-12:4.3.5-5.module_2118aef6.i686", "dhcp",
|
||||
multilib=["x86_64"])
|
||||
self._add_test_rpm("perl-Tangerine-12:4.3.5-5.module_2118aef6.src", "perl-Tangerine",
|
||||
multilib=["ppc64le"])
|
||||
self._add_test_rpm("perl-Tangerine-12:4.3.5-5.module_2118aef6.x86_64", "perl-Tangerine",
|
||||
multilib=["ppc64le"])
|
||||
self._add_test_rpm("perl-Tangerine-12:4.3.5-5.module_2118aef6.i686", "perl-Tangerine",
|
||||
@@ -567,9 +614,12 @@ class TestBuild:
|
||||
# Only i686 package for dhcp-libs should be added, because perl-Tangerine does not have
|
||||
# multilib set.
|
||||
assert set(mmd.get_rpm_artifacts().get()) == set([
|
||||
"dhcp-libs-12:4.3.5-5.module_2118aef6.src",
|
||||
"dhcp-libs-12:4.3.5-5.module_2118aef6.x86_64",
|
||||
"dhcp-libs-12:4.3.5-5.module_2118aef6.i686",
|
||||
"perl-Tangerine-12:4.3.5-5.module_2118aef6.x86_64"])
|
||||
"perl-Tangerine-12:4.3.5-5.module_2118aef6.src",
|
||||
"perl-Tangerine-12:4.3.5-5.module_2118aef6.x86_64",
|
||||
])
|
||||
else:
|
||||
assert set(mmd.get_rpm_artifacts().get()) == set([
|
||||
"perl-Tangerine-12:4.3.5-5.module_2118aef6.i686"])
|
||||
|
||||
Reference in New Issue
Block a user