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):
|
||||
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.append("--product=%s" % product)
|
||||
cmd.append("--version=%s" % version)
|
||||
@ -36,7 +38,7 @@ class LoraxWrapper(object):
|
||||
cmd.append("--variant=%s" % variant)
|
||||
|
||||
if bugurl is not None:
|
||||
cmd.append("--bugurl=%s" % variant)
|
||||
cmd.append("--bugurl=%s" % bugurl)
|
||||
|
||||
if nomacboot:
|
||||
cmd.append("--nomacboot")
|
||||
@ -53,6 +55,9 @@ class LoraxWrapper(object):
|
||||
if volid:
|
||||
cmd.append("--volid=%s" % volid)
|
||||
|
||||
if buildinstallpackages:
|
||||
cmd.extend(["--installpkgs=%s" % package for package in buildinstallpackages])
|
||||
|
||||
output_dir = os.path.abspath(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