| |
@@ -67,12 +67,13 @@
|
| |
@mock.patch('pungi.wrappers.iso.IsoWrapper')
|
| |
@mock.patch('os.link')
|
| |
@mock.patch('pungi.wrappers.kojiwrapper.KojiWrapper')
|
| |
- def test_run(self, KojiWrapper, link, IsoWrapper,
|
| |
- get_file_size, get_mtime, ImageCls, run):
|
| |
+ def test_run_in_runroot(self, KojiWrapper, link, IsoWrapper,
|
| |
+ get_file_size, get_mtime, ImageCls, run):
|
| |
compose = helpers.DummyCompose(self.topdir, {
|
| |
'release_name': 'Fedora',
|
| |
'release_version': 'Rawhide',
|
| |
'koji_profile': 'koji',
|
| |
+ 'runroot': 'True',
|
| |
'runroot_tag': 'rrt',
|
| |
})
|
| |
pool = mock.Mock()
|
| |
@@ -129,13 +130,43 @@
|
| |
@mock.patch('pungi.util.get_file_size')
|
| |
@mock.patch('pungi.wrappers.iso.IsoWrapper')
|
| |
@mock.patch('os.link')
|
| |
+ def test_run_locally(self, link, IsoWrapper,
|
| |
+ get_file_size, get_mtime, ImageCls, run):
|
| |
+ compose = helpers.DummyCompose(self.topdir, {
|
| |
+ 'release_name': 'Fedora',
|
| |
+ 'release_version': 'Rawhide',
|
| |
+ 'koji_profile': 'koji',
|
| |
+ })
|
| |
+ pool = mock.Mock()
|
| |
+ cfg = {
|
| |
+ 'source_repo_from': 'Everything',
|
| |
+ 'release': '20160321.n.0',
|
| |
+ }
|
| |
+
|
| |
+ t = ostree.OstreeInstallerThread(pool)
|
| |
+
|
| |
+ t.process((compose, compose.variants['Everything'], 'x86_64', cfg), 1)
|
| |
+ self.assertEqual(run.call_args_list,
|
| |
+ [mock.call(['lorax', '--product=Fedora', '--version=Rawhide', '--release=20160321.n.0',
|
| |
+ '--source=file://{0}/compose/Everything/x86_64/os'.format(self.topdir),
|
| |
+ '--variant=Everything', '--nomacboot',
|
| |
+ '{0}/work/x86_64/Everything/ostree_installer'.format(self.topdir)]),
|
| |
+ mock.call('cp -av {0}/work/x86_64/Everything/ostree_installer/* {0}/compose/Everything/x86_64/os/'.format(self.topdir))])
|
| |
+
|
| |
+ @mock.patch('kobo.shortcuts.run')
|
| |
+ @mock.patch('productmd.images.Image')
|
| |
+ @mock.patch('pungi.util.get_mtime')
|
| |
+ @mock.patch('pungi.util.get_file_size')
|
| |
+ @mock.patch('pungi.wrappers.iso.IsoWrapper')
|
| |
+ @mock.patch('os.link')
|
| |
@mock.patch('pungi.wrappers.kojiwrapper.KojiWrapper')
|
| |
- def test_run_external_source(self, KojiWrapper, link, IsoWrapper,
|
| |
- get_file_size, get_mtime, ImageCls, run):
|
| |
+ def test_run_in_runroot_with_external_source(self, KojiWrapper, link, IsoWrapper,
|
| |
+ get_file_size, get_mtime, ImageCls, run):
|
| |
compose = helpers.DummyCompose(self.topdir, {
|
| |
'release_name': 'Fedora',
|
| |
'release_version': 'Rawhide',
|
| |
'koji_profile': 'koji',
|
| |
+ 'runroot': 'True',
|
| |
'runroot_tag': 'rrt',
|
| |
})
|
| |
pool = mock.Mock()
|
| |
@@ -193,13 +224,14 @@
|
| |
@mock.patch('pungi.wrappers.iso.IsoWrapper')
|
| |
@mock.patch('os.link')
|
| |
@mock.patch('pungi.wrappers.kojiwrapper.KojiWrapper')
|
| |
- def test_fail_with_relative_template_path_but_no_repo(self, KojiWrapper, link,
|
| |
- IsoWrapper, get_file_size,
|
| |
- get_mtime, ImageCls, run):
|
| |
+ def test_fail_in_runroot_with_relative_template_path_but_no_repo(self, KojiWrapper, link,
|
| |
+ IsoWrapper, get_file_size,
|
| |
+ get_mtime, ImageCls, run):
|
| |
compose = helpers.DummyCompose(self.topdir, {
|
| |
'release_name': 'Fedora',
|
| |
'release_version': 'Rawhide',
|
| |
'koji_profile': 'koji',
|
| |
+ 'runroot': 'True',
|
| |
'runroot_tag': 'rrt',
|
| |
})
|
| |
pool = mock.Mock()
|
| |
@@ -232,13 +264,14 @@
|
| |
@mock.patch('pungi.wrappers.iso.IsoWrapper')
|
| |
@mock.patch('os.link')
|
| |
@mock.patch('pungi.wrappers.kojiwrapper.KojiWrapper')
|
| |
- def test_run_clone_templates(self, KojiWrapper, link, IsoWrapper,
|
| |
- get_file_size, get_mtime, ImageCls, run,
|
| |
- get_dir_from_scm):
|
| |
+ def test_run_in_runroot_clone_templates(self, KojiWrapper, link, IsoWrapper,
|
| |
+ get_file_size, get_mtime, ImageCls, run,
|
| |
+ get_dir_from_scm):
|
| |
compose = helpers.DummyCompose(self.topdir, {
|
| |
'release_name': 'Fedora',
|
| |
'release_version': 'Rawhide',
|
| |
'koji_profile': 'koji',
|
| |
+ 'runroot': 'True',
|
| |
'runroot_tag': 'rrt',
|
| |
})
|
| |
pool = mock.Mock()
|
| |
@@ -307,12 +340,13 @@
|
| |
@mock.patch('pungi.wrappers.iso.IsoWrapper')
|
| |
@mock.patch('os.link')
|
| |
@mock.patch('pungi.wrappers.kojiwrapper.KojiWrapper')
|
| |
- def test_run_with_implicit_release(self, KojiWrapper, link, IsoWrapper,
|
| |
- get_file_size, get_mtime, ImageCls, run):
|
| |
+ def test_run_in_runroot_with_implicit_release(self, KojiWrapper, link, IsoWrapper,
|
| |
+ get_file_size, get_mtime, ImageCls, run):
|
| |
compose = helpers.DummyCompose(self.topdir, {
|
| |
'release_name': 'Fedora',
|
| |
'release_version': 'Rawhide',
|
| |
'koji_profile': 'koji',
|
| |
+ 'runroot': 'True',
|
| |
'runroot_tag': 'rrt',
|
| |
})
|
| |
pool = mock.Mock()
|
| |
@@ -386,12 +420,13 @@
|
| |
@mock.patch('pungi.wrappers.iso.IsoWrapper')
|
| |
@mock.patch('os.link')
|
| |
@mock.patch('pungi.wrappers.kojiwrapper.KojiWrapper')
|
| |
- def test_fail_crash(self, KojiWrapper, link, IsoWrapper, get_file_size,
|
| |
- get_mtime, ImageCls, run):
|
| |
+ def test_fail_in_runroot_crash(self, KojiWrapper, link, IsoWrapper, get_file_size,
|
| |
+ get_mtime, ImageCls, run):
|
| |
compose = helpers.DummyCompose(self.topdir, {
|
| |
'release_name': 'Fedora',
|
| |
'release_version': 'Rawhide',
|
| |
'koji_profile': 'koji',
|
| |
+ 'runroot': 'True',
|
| |
'runroot_tag': 'rrt',
|
| |
})
|
| |
pool = mock.Mock()
|
| |
@@ -418,12 +453,13 @@
|
| |
@mock.patch('pungi.wrappers.iso.IsoWrapper')
|
| |
@mock.patch('os.link')
|
| |
@mock.patch('pungi.wrappers.kojiwrapper.KojiWrapper')
|
| |
- def test_fail_runroot_fail(self, KojiWrapper, link, IsoWrapper,
|
| |
- get_file_size, get_mtime, ImageCls, run):
|
| |
+ def test_fail_in_runroot_fail(self, KojiWrapper, link, IsoWrapper,
|
| |
+ get_file_size, get_mtime, ImageCls, run):
|
| |
compose = helpers.DummyCompose(self.topdir, {
|
| |
'release_name': 'Fedora',
|
| |
'release_version': 'Rawhide',
|
| |
'koji_profile': 'koji',
|
| |
+ 'runroot': 'True',
|
| |
'runroot_tag': 'rrt',
|
| |
})
|
| |
pool = mock.Mock()
|
| |
How is this option expected to be used? Should it only be set for production composes? For nightly composes the config can not be updated daily, so the version would not change much. Should the option be disabled in such case?