Source code for cis_interface.drivers.tests.test_MakeModelDriver

import os
import unittest
from cis_interface.tests import scripts, assert_raises
import cis_interface.drivers.tests.test_ModelDriver as parent
from cis_interface.drivers.MakeModelDriver import MakeModelDriver


_driver_installed = MakeModelDriver.is_installed()


[docs]@unittest.skipIf(_driver_installed, "C Library installed") def test_MakeModelDriver_no_C_library(): # pragma: windows r"""Test MakeModelDriver error when C library not installed.""" assert_raises(RuntimeError, MakeModelDriver, 'test', scripts['make'])
[docs]@unittest.skipIf(not _driver_installed, "C Library not installed") def test_MakeModelDriver_error_notarget(): r"""Test MakeModelDriver error for invalid target.""" makedir, target = os.path.split(scripts['make']) assert_raises(RuntimeError, MakeModelDriver, 'test', 'invalid', makedir=makedir)
[docs]@unittest.skipIf(not _driver_installed, "C Library not installed") def test_MakeModelDriver_error_nofile(): r"""Test MakeModelDriver error for missing Makefile.""" makedir, target = os.path.split(scripts['make']) assert_raises(IOError, MakeModelDriver, 'test', 'invalid')
[docs]@unittest.skipIf(not _driver_installed, "C Library not installed") class TestMakeModelParam(parent.TestModelParam): r"""Test parameters for MakeModelDriver.""" driver = 'MakeModelDriver' def __init__(self, *args, **kwargs): super(TestMakeModelParam, self).__init__(*args, **kwargs) self.attr_list += ['compiled', 'target', 'make_command', 'makedir', 'makefile'] self.makedir, self.target = os.path.split(scripts['make']) self.makefile = os.path.join(self.makedir, 'Makefile') self.args = [self.target] self._inst_kwargs['makefile'] = self.makefile
[docs]@unittest.skipIf(not _driver_installed, "C Library not installed") class TestMakeModelDriverNoStart(TestMakeModelParam, parent.TestModelDriverNoStart): r"""Test runner for MakeModelDriver without start.""" def __init__(self, *args, **kwargs): super(TestMakeModelDriverNoStart, self).__init__(*args, **kwargs) # Version specifying makedir via working_dir self._inst_kwargs['yml']['working_dir'] = self.makedir del self._inst_kwargs['makefile'] # Done in driver, but driver not started
[docs] def teardown(self): r"""Remove the instance, stoppping it.""" self.instance.cleanup() super(TestMakeModelDriverNoStart, self).teardown()
[docs]@unittest.skipIf(not _driver_installed, "C Library not installed") class TestMakeModelDriver(TestMakeModelParam, parent.TestModelDriver): r"""Test runner for MakeModelDriver.""" pass