Source code for cis_interface.drivers.tests.test_ModelDriver

import unittest
from cis_interface.tests import assert_raises
from cis_interface import platform
from cis_interface.drivers.ModelDriver import ModelDriver
import cis_interface.drivers.tests.test_Driver as parent


[docs]def test_error_valgrind_strace(): r"""Test error if both valgrind and strace set.""" assert_raises(RuntimeError, ModelDriver, 'test', 'test', with_strace=True, with_valgrind=True)
[docs]@unittest.skipIf(not platform._is_win, "Platform is not windows") def test_error_valgrind_strace_windows(): # pragma: windows r"""Test error if strace or valgrind called on windows.""" assert_raises(RuntimeError, ModelDriver, 'test', 'test', with_strace=True) assert_raises(RuntimeError, ModelDriver, 'test', 'test', with_valgrind=True)
[docs]class TestModelParam(parent.TestParam): r"""Test parameters for basic ModelDriver class.""" driver = 'ModelDriver' def __init__(self, *args, **kwargs): super(TestModelParam, self).__init__(*args, **kwargs) if self.args is None: if platform._is_win: # pragma: windows self.args = ['timeout', '0'] else: self.args = ['sleep', '0.1'] self.attr_list += ['args', 'process', 'queue', 'queue_thread', 'is_server', 'client_of', 'event_process_kill_called', 'event_process_kill_complete', 'with_strace', 'strace_flags', 'with_valgrind', 'valgrind_flags', 'model_index']
[docs]class TestModelDriverNoStart(TestModelParam, parent.TestDriverNoStart): r"""Test runner for basic ModelDriver class."""
[docs] def test_is_installed(self): r"""Assert that the tested model driver is installed.""" if self.driver == 'ModelDriver': assert(not self.import_cls.is_installed()) else: assert(self.import_cls.is_installed())
[docs]class TestModelDriver(TestModelParam, parent.TestDriver): r"""Test runner for basic ModelDriver class.""" pass
[docs]@unittest.skipIf(platform._is_win, "Platform is windows") class TestModelDriver_valgrind(TestModelDriver): r"""Test with valgrind.""" @property def inst_kwargs(self): r"""dict: Keyword arguments for creating a class instance.""" out = super(TestModelDriver_valgrind, self).inst_kwargs out['with_valgrind'] = True return out
[docs]@unittest.skipIf(platform._is_win, "Platform is windows") class TestModelDriver_strace(TestModelDriver): r"""Test with strace.""" @property def inst_kwargs(self): r"""dict: Keyword arguments for creating a class instance.""" out = super(TestModelDriver_strace, self).inst_kwargs out['with_strace'] = True return out