| |
@@ -30,7 +30,7 @@
|
| |
|
| |
pool = ThreadPool.return_value
|
| |
|
| |
- phase = createiso.CreateisoPhase(compose)
|
| |
+ phase = createiso.CreateisoPhase(compose, mock.Mock())
|
| |
phase.logger = mock.Mock()
|
| |
phase.run()
|
| |
|
| |
@@ -49,7 +49,7 @@
|
| |
|
| |
pool = ThreadPool.return_value
|
| |
|
| |
- phase = createiso.CreateisoPhase(compose)
|
| |
+ phase = createiso.CreateisoPhase(compose, mock.Mock())
|
| |
phase.logger = mock.Mock()
|
| |
phase.run()
|
| |
|
| |
@@ -88,7 +88,7 @@
|
| |
|
| |
pool = ThreadPool.return_value
|
| |
|
| |
- phase = createiso.CreateisoPhase(compose)
|
| |
+ phase = createiso.CreateisoPhase(compose, mock.Mock())
|
| |
phase.logger = mock.Mock()
|
| |
phase.run()
|
| |
|
| |
@@ -152,7 +152,7 @@
|
| |
|
| |
pool = ThreadPool.return_value
|
| |
|
| |
- phase = createiso.CreateisoPhase(compose)
|
| |
+ phase = createiso.CreateisoPhase(compose, mock.Mock())
|
| |
phase.logger = mock.Mock()
|
| |
phase.run()
|
| |
|
| |
@@ -209,6 +209,69 @@
|
| |
'src'))]
|
| |
)
|
| |
|
| |
+ @mock.patch('pungi.createiso.write_script')
|
| |
+ @mock.patch('pungi.phases.createiso.prepare_iso')
|
| |
+ @mock.patch('pungi.phases.createiso.split_iso')
|
| |
+ @mock.patch('pungi.phases.createiso.ThreadPool')
|
| |
+ def test_bootable_but_failed(self, ThreadPool, split_iso, prepare_iso, write_script):
|
| |
+ compose = helpers.DummyCompose(self.topdir, {
|
| |
+ 'release_short': 'test',
|
| |
+ 'release_version': '1.0',
|
| |
+ 'release_is_layered': False,
|
| |
+ 'buildinstall_method': 'lorax',
|
| |
+ 'bootable': True,
|
| |
+ 'createiso_skip': []
|
| |
+ })
|
| |
+ helpers.touch(os.path.join(
|
| |
+ compose.paths.compose.os_tree('x86_64', compose.variants['Server']),
|
| |
+ 'dummy.rpm'))
|
| |
+ helpers.touch(os.path.join(
|
| |
+ compose.paths.compose.os_tree('src', compose.variants['Server']),
|
| |
+ 'dummy.rpm'))
|
| |
+ disc_data = mock.Mock()
|
| |
+ split_iso.return_value = [disc_data]
|
| |
+ prepare_iso.return_value = 'dummy-graft-points'
|
| |
+
|
| |
+ pool = ThreadPool.return_value
|
| |
+
|
| |
+ mock_bi = mock.Mock(succeeded=lambda v, a: False)
|
| |
+
|
| |
+ phase = createiso.CreateisoPhase(compose, mock_bi)
|
| |
+ phase.logger = mock.Mock()
|
| |
+ phase.run()
|
| |
+
|
| |
+ self.assertItemsEqual(
|
| |
+ prepare_iso.call_args_list,
|
| |
+ [mock.call(compose, 'src', compose.variants['Server'],
|
| |
+ disc_count=1, disc_num=1, split_iso_data=disc_data)])
|
| |
+ self.assertItemsEqual(
|
| |
+ split_iso.call_args_list,
|
| |
+ [mock.call(compose, 'src', compose.variants['Server'], no_split=False, logger=phase.logger)])
|
| |
+ self.assertEqual(len(pool.add.call_args_list), 1)
|
| |
+ self.maxDiff = None
|
| |
+ self.assertItemsEqual(
|
| |
+ [x[0][0] for x in write_script.call_args_list],
|
| |
+ [CreateIsoOpts(output_dir='%s/compose/Server/source/iso' % self.topdir,
|
| |
+ iso_name='image-name',
|
| |
+ volid='test-1.0 Server.src',
|
| |
+ graft_points='dummy-graft-points',
|
| |
+ arch='src',
|
| |
+ supported=True,
|
| |
+ jigdo_dir='%s/compose/Server/source/jigdo' % self.topdir,
|
| |
+ os_tree='%s/compose/Server/source/tree' % self.topdir)])
|
| |
+ self.assertItemsEqual(
|
| |
+ pool.queue_put.call_args_list,
|
| |
+ [mock.call((compose,
|
| |
+ {'iso_path': '%s/compose/Server/source/iso/image-name' % self.topdir,
|
| |
+ 'bootable': False,
|
| |
+ 'cmd': ['bash', self.topdir + '/work/src/tmp-Server/createiso-image-name.sh'],
|
| |
+ 'label': '',
|
| |
+ 'disc_num': 1,
|
| |
+ 'disc_count': 1},
|
| |
+ compose.variants['Server'],
|
| |
+ 'src'))]
|
| |
+ )
|
| |
+
|
| |
|
| |
class CreateisoThreadTest(helpers.PungiTestCase):
|
| |
|
| |
If the ISO is meant to be bootable but lorax fails, there's no point in creating the ISO as it will not behave as expected.
Bug: https://bugzilla.redhat.com/show_bug.cgi?id=1574585