Update lorax wrapper to use --installpkgs
The lorax wrapper class now understands the --installpkgs argument and can use it to pass multiple package names to the command. There is a simple test to make sure the commands includes all specified options. A bug is fixed where the bug URL would not be correctly included. Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
This commit is contained in:
parent
791448cc32
commit
94f519d01c
@ -21,7 +21,9 @@ from kobo.shortcuts import force_list
|
|||||||
|
|
||||||
|
|
||||||
class LoraxWrapper(object):
|
class LoraxWrapper(object):
|
||||||
def get_lorax_cmd(self, product, version, release, repo_baseurl, output_dir, variant=None, bugurl=None, nomacboot=False, noupgrade=False, is_final=False, buildarch=None, volid=None):
|
def get_lorax_cmd(self, product, version, release, repo_baseurl, output_dir,
|
||||||
|
variant=None, bugurl=None, nomacboot=False, noupgrade=False,
|
||||||
|
is_final=False, buildarch=None, volid=None, buildinstallpackages=None):
|
||||||
cmd = ["lorax"]
|
cmd = ["lorax"]
|
||||||
cmd.append("--product=%s" % product)
|
cmd.append("--product=%s" % product)
|
||||||
cmd.append("--version=%s" % version)
|
cmd.append("--version=%s" % version)
|
||||||
@ -36,7 +38,7 @@ class LoraxWrapper(object):
|
|||||||
cmd.append("--variant=%s" % variant)
|
cmd.append("--variant=%s" % variant)
|
||||||
|
|
||||||
if bugurl is not None:
|
if bugurl is not None:
|
||||||
cmd.append("--bugurl=%s" % variant)
|
cmd.append("--bugurl=%s" % bugurl)
|
||||||
|
|
||||||
if nomacboot:
|
if nomacboot:
|
||||||
cmd.append("--nomacboot")
|
cmd.append("--nomacboot")
|
||||||
@ -53,6 +55,9 @@ class LoraxWrapper(object):
|
|||||||
if volid:
|
if volid:
|
||||||
cmd.append("--volid=%s" % volid)
|
cmd.append("--volid=%s" % volid)
|
||||||
|
|
||||||
|
if buildinstallpackages:
|
||||||
|
cmd.extend(["--installpkgs=%s" % package for package in buildinstallpackages])
|
||||||
|
|
||||||
output_dir = os.path.abspath(output_dir)
|
output_dir = os.path.abspath(output_dir)
|
||||||
cmd.append(output_dir)
|
cmd.append(output_dir)
|
||||||
|
|
||||||
|
52
tests/test_lorax_wrapper.py
Executable file
52
tests/test_lorax_wrapper.py
Executable file
@ -0,0 +1,52 @@
|
|||||||
|
#!/usr/bin/env python2
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
import unittest
|
||||||
|
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
|
sys.path.insert(0, os.path.join(os.path.dirname(__file__), ".."))
|
||||||
|
|
||||||
|
from pungi.wrappers.lorax import LoraxWrapper
|
||||||
|
|
||||||
|
|
||||||
|
class LoraxWrapperTest(unittest.TestCase):
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
self.lorax = LoraxWrapper()
|
||||||
|
|
||||||
|
def test_get_command_with_minimal_arguments(self):
|
||||||
|
cmd = self.lorax.get_lorax_cmd("product", "version", "release",
|
||||||
|
"/mnt/repo_baseurl", "/mnt/output_dir")
|
||||||
|
|
||||||
|
self.assertEqual(cmd[0], 'lorax')
|
||||||
|
self.assertItemsEqual(cmd[1:],
|
||||||
|
['--product=product',
|
||||||
|
'--version=version',
|
||||||
|
'--release=release',
|
||||||
|
'--source=file:///mnt/repo_baseurl',
|
||||||
|
'/mnt/output_dir'])
|
||||||
|
|
||||||
|
def test_get_command_with_all_arguments(self):
|
||||||
|
cmd = self.lorax.get_lorax_cmd("product", "version", "release",
|
||||||
|
"/mnt/repo_baseurl", "/mnt/output_dir",
|
||||||
|
variant="Server", bugurl="http://example.com/",
|
||||||
|
nomacboot=True, noupgrade=True, is_final=True,
|
||||||
|
buildarch='x86_64', volid='VOLUME_ID',
|
||||||
|
buildinstallpackages=['bash', 'vim'])
|
||||||
|
|
||||||
|
self.assertEqual(cmd[0], 'lorax')
|
||||||
|
self.assertItemsEqual(cmd[1:],
|
||||||
|
['--product=product', '--version=version',
|
||||||
|
'--release=release', '--variant=Server',
|
||||||
|
'--source=file:///mnt/repo_baseurl',
|
||||||
|
'--bugurl=http://example.com/',
|
||||||
|
'--buildarch=x86_64', '--volid=VOLUME_ID',
|
||||||
|
'--nomacboot', '--noupgrade', '--isfinal',
|
||||||
|
'--installpkgs=bash', '--installpkgs=vim',
|
||||||
|
'/mnt/output_dir'])
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
unittest.main()
|
Loading…
Reference in New Issue
Block a user