hybrid: Remove modules not listed by fus

It's possible we ask to include module X, but it's in lookaside and as
such it should not be in the output. Therefore we need to remove it from
the variant.

Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
This commit is contained in:
Lubomír Sedlář 2018-10-03 12:19:33 +02:00
parent 1a161982c0
commit 3fea217b9c
4 changed files with 55 additions and 15 deletions

View file

@ -78,21 +78,30 @@ class TestParseOutput(unittest.TestCase):
def test_skips_debug_line(self):
touch(self.file, "debug line\n")
packages = fus.parse_output(self.file)
packages, modules = fus.parse_output(self.file)
self.assertItemsEqual(packages, [])
self.assertItemsEqual(modules, [])
def test_separates_arch(self):
touch(self.file, "pkg-1.0-1.x86_64@repo-0\npkg-1.0-1.i686@repo-0\n")
packages = fus.parse_output(self.file)
packages, modules = fus.parse_output(self.file)
self.assertItemsEqual(
packages,
[("pkg-1.0-1", "x86_64", frozenset()), ("pkg-1.0-1", "i686", frozenset())],
)
self.assertItemsEqual(modules, [])
def test_marks_modular(self):
touch(self.file, "*pkg-1.0-1.x86_64@repo-0\n")
packages = fus.parse_output(self.file)
packages, modules = fus.parse_output(self.file)
self.assertItemsEqual(
packages,
[("pkg-1.0-1", "x86_64", frozenset(["modular"]))],
)
self.assertItemsEqual(modules, [])
def test_extracts_modules(self):
touch(self.file, "module:mod:master:20181003:cafebeef.x86_64@repo-0\n")
packages, modules = fus.parse_output(self.file)
self.assertItemsEqual(packages, [])
self.assertItemsEqual(modules, ["mod:master:20181003:cafebeef"])