#1109 Fix creation of CG build without any RPM.
Merged 7 months ago by jkaluza. Opened 7 months ago by jkaluza.
jkaluza/fm-orchestrator factory-3658  into  master

@@ -237,6 +237,10 @@ 

              # If the tag doesn't exist.. then there are no rpms in that tag.

              return []

  

+         # Module does not contain any RPM, so return an empty list.

+         if not rpms:

+             return []

+ 

          # Get the exclusivearch, excludearch and license data for each RPM.

          # The exclusivearch and excludearch lists are set in source RPM from which the RPM

          # was built.

@@ -420,6 +420,18 @@ 

          # Listing tagged RPMs does not require to log into a session

          koji_session.krb_login.assert_not_called()

  

+     @patch("koji.ClientSession")

+     def test_koji_rpms_in_tag_empty_tag(self, ClientSession):

+         koji_session = ClientSession.return_value

+         koji_session.getUser.return_value = GET_USER_RV

+         koji_session.getTag.return_value = {"arches": "x86_64"}

+         koji_session.listTaggedRPMS.return_value = ([], [])

+         koji_session.multiCall.side_effect = [[], [], [], []]

+ 

+         rpms = self.cg._koji_rpms_in_tag("tag")

+         assert rpms == []

+         koji_session.multiCall.assert_not_called()

+ 

      def _add_test_rpm(self, nevra, srpm_nevra, multilib=None,

                        koji_srpm_nevra=None, excludearch=None, exclusivearch=None,

                        license=None):

In case the module did not contain any RPM, _koji_rpms_in_tag still
tried to call the session.getRPMHeaders with an empty list. This results
in None being returned, which is something _koji_rpms_in_tag did
not count with and failed with traceback when trying to iterate
that None value.

In this commit, the _koji_rpms_in_tag returns an empty list early
if Koji tag does not contain any RPM. Therefore the
session.getRPMHeaders is not called at all in this case, because it
does not make any sense to get RPM Headers when Koji tag does not
contain any RPM.

Commit f47cc39 fixes this pull-request

Pull-Request has been merged by jkaluza

7 months ago

Pull-Request has been merged by jkaluza

7 months ago