[PATCH] Run the pykickstart version test on the commands in parse-dracut
Vratislav Podzimek
vpodzime at redhat.com
Tue Mar 25 11:07:32 UTC 2014
On Mon, 2014-03-24 at 17:04 -0400, David Shea wrote:
> (this one doesn't leave behind dracut/parse-kickstartc)
>
> ---
> tests/kickstart_tests/version_test.py | 25 +++++++++++++++++++++++++
> 1 file changed, 25 insertions(+)
>
> diff --git a/tests/kickstart_tests/version_test.py b/tests/kickstart_tests/version_test.py
> index c3650f8..b77cb26 100644
> --- a/tests/kickstart_tests/version_test.py
> +++ b/tests/kickstart_tests/version_test.py
> @@ -18,6 +18,7 @@
> # Author: Chris Lumens <clumens at redhat.com>
> from mock import Mock
> import unittest
> +import os
>
> class BaseTestCase(unittest.TestCase):
> def setUp(self):
> @@ -50,3 +51,27 @@ class DataVersionTestCase(BaseTestCase):
> # it does command objects.
> pykickstartClass = eval("self.handler.%s" % dataName)
> self.assertIsInstance(dataObj(), pykickstartClass)
> +
> +# Copy the commands tests but with the command map from dracut/parse-kickstart
> +class DracutCommandVersionTestCase(CommandVersionTestCase):
> + def setUp(self):
> + CommandVersionTestCase.setUp(self)
> +
> + # top_srcdir should have been set by nosetests.sh. If it wasn't, the KeyError
> + # will fail the test.
> + parse_kickstart_path = os.path.join(os.environ['top_srcdir'], 'dracut', 'parse-kickstart')
> +
> + import tempfile
> + with tempfile.NamedTemporaryFile() as parse_temp:
> + # Compile the file manually to a tempfile so that the import doesn't automatically
> + # crud up the source directory with parse-kickstartc
> + import py_compile
> + parse_temp = tempfile.NamedTemporaryFile()
> + py_compile.compile(parse_kickstart_path, parse_temp.name)
> +
> + # Use imp to pretend that hyphens are ok for module names
> + import imp
> + parse_module = imp.load_module('parse_kickstart', parse_temp.file,
> + parse_temp.name, ('', 'r', imp.PY_COMPILED))
> +
> + self._commandMap = parse_module.dracutCmds
ACK for this one, I've clicked bad email to reply to.
--
Vratislav Podzimek
Anaconda Rider | Red Hat, Inc. | Brno - Czech Republic
More information about the anaconda-patches
mailing list