From 13df00edaf51d71a539a9b8e8ea63c53b0681e42 Mon Sep 17 00:00:00 2001 From: Jan Kaluza Date: Sep 13 2018 11:56:26 +0000 Subject: Fix tracebacks when multilib_arches and multilib_method is None. --- diff --git a/server/odcs/server/backend.py b/server/odcs/server/backend.py index 736cd38..1389b70 100644 --- a/server/odcs/server/backend.py +++ b/server/odcs/server/backend.py @@ -581,12 +581,16 @@ def generate_pungi_compose(compose): pungi_cfg = RawPungiConfig(compose.source) else: # Generate PungiConfig and run Pungi + if compose.multilib_arches: + multilib_arches = compose.multilib_arches.split(" ") + else: + multilib_arches = None pungi_cfg = PungiConfig(compose.name, "1", compose.source_type, compose.source, packages=packages, sigkeys=compose.sigkeys, results=compose.results, arches=compose.arches.split(" "), - multilib_arches=compose.multilib_arches.split(" "), + multilib_arches=multilib_arches, multilib_method=compose.multilib_method) if compose.flags & COMPOSE_FLAGS["no_deps"]: pungi_cfg.gather_method = "nodeps" diff --git a/server/odcs/server/pungi.py b/server/odcs/server/pungi.py index 29e1ca9..46baf21 100644 --- a/server/odcs/server/pungi.py +++ b/server/odcs/server/pungi.py @@ -134,9 +134,10 @@ class PungiConfig(BasePungiConfig): self.multilib_arches = multilib_arches if multilib_arches else [] self.multilib_method = [] - for k, v in MULTILIB_METHODS.items(): - if multilib_method & v: - self.multilib_method.append(k) + if multilib_method: + for k, v in MULTILIB_METHODS.items(): + if multilib_method & v: + self.multilib_method.append(k) if "boot.iso" in self.results: self.bootable = True diff --git a/server/tests/test_backend.py b/server/tests/test_backend.py index 65b8f5c..627b971 100644 --- a/server/tests/test_backend.py +++ b/server/tests/test_backend.py @@ -651,6 +651,18 @@ class TestGeneratePungiCompose(ModelsBaseTest): self.assertEqual(set(self.pungi_config.multilib_arches), set(["i686", "x86_64"])) self.assertEqual(self.pungi_config.multilib_method, ["runtime"]) + def test_generate_pungi_compose_multiarch_arches_None(self): + c = Compose.create( + db.session, "me", PungiSourceType.KOJI_TAG, "f26", + COMPOSE_RESULTS["repository"], 60, packages='pkg1 pkg2 pkg3', + arches="x86_64 s390", multilib_arches=None, + multilib_method=None) + c.id = 1 + + generate_pungi_compose(c) + self.assertEqual(set(self.pungi_config.multilib_arches), set([])) + self.assertEqual(self.pungi_config.multilib_method, []) + def test_generate_pungi_compose_nodeps(self): c = Compose.create( db.session, "me", PungiSourceType.KOJI_TAG, "f26",