Make ostree_installer check if buildinstall is skipped correctly

The _skipped attribute is only set after the buildinstall phase is started.

Fixes: #909
Signed-off-by: Patrick Uiterwijk <puiterwijk@redhat.com>
This commit is contained in:
Patrick Uiterwijk 2018-05-24 13:18:57 +02:00
parent 420b744193
commit 288d9ecc90
3 changed files with 10 additions and 4 deletions

View File

@ -48,12 +48,16 @@ class BuildinstallPhase(PhaseBase):
self.buildinstall_method = self.compose.conf.get("buildinstall_method")
self.used_lorax = self.buildinstall_method == 'lorax'
self.warned_skipped = False
def skip(self):
if PhaseBase.skip(self):
return True
if not self.compose.conf.get("bootable"):
msg = "Not a bootable product. Skipping buildinstall."
self.compose.log_debug(msg)
if not self.warned_skipped:
msg = "Not a bootable product. Skipping buildinstall."
self.compose.log_debug(msg)
self.warned_skipped = True
return True
return False

View File

@ -24,7 +24,7 @@ class OstreeInstallerPhase(PhaseLoggerMixin, ConfigGuardedPhase):
def validate(self):
errors = []
if not self.compose.conf['ostree_installer_overwrite'] and not self.bi._skipped:
if not self.compose.conf['ostree_installer_overwrite'] and not self.bi.skip():
for variant in self.compose.get_variants():
for arch in variant.arches:
conf = util.get_arch_variant_data(self.compose.conf, self.name,

View File

@ -55,7 +55,9 @@ class OstreeInstallerPhaseTest(helpers.PungiTestCase):
],
})
phase = ostree.OstreeInstallerPhase(compose, mock.Mock(_skipped=False))
skipmock = mock.Mock()
skipmock.skip.return_value = False
phase = ostree.OstreeInstallerPhase(compose, skipmock)
with self.assertRaises(ValueError) as ctx:
phase.validate()