예제 #1
0
 def test_adds_dependencies(self):
     adder = BuiltinsAdder()
     function1 = mock.Mock()
     function2 = mock.Mock()
     function3 = mock.Mock()
     function4 = mock.Mock()
     adder.add_type("foo1", function1)
     adder.add_type("foo2", function2, ["foo1"])
     adder.add_type("foo3", function3, ["foo2"])
     adder.add_type("foo4", function4)
     adder.add("foo3", dict(argument=1))
     adder.add("foo2")
     function1.assert_called_once_with()
     function2.assert_called_once_with()
     function3.assert_called_once_with(argument=1)
     self.assertFalse(function4.called)
예제 #2
0
    def __init__(self):
        self.mocksim = mock.Mock(spec=SimulatorInterface)

        def compile_side_effect(*args, **kwargs):
            return True

        def simulate_side_effect(*args, **kwargs):
            return True

        self.mocksim.compile_project.side_effect = compile_side_effect
        self.mocksim.simulate.side_effect = simulate_side_effect
예제 #3
0
파일: test_ui.py 프로젝트: wzab/vunit
    def test_post_run(self):
        post_run = mock.Mock()

        ui = self._create_ui()
        self._run_main(ui, post_run=post_run)
        self.assertTrue(post_run.called)

        for no_run_arg in ['--compile', '--files', '--list']:
            post_run.reset_mock()
            ui = self._create_ui(no_run_arg)
            self._run_main(ui, post_run=post_run)
            self.assertFalse(post_run.called)
예제 #4
0
 def test_runtime_error_on_add_with_different_args(self):
     adder = BuiltinsAdder()
     function = mock.Mock()
     adder.add_type("foo", function)
     adder.add("foo", dict(argument=1))
     try:
         adder.add("foo", dict(argument=2))
     except RuntimeError as exc:
         self.assertEqual(str(exc),
                          "Optional builtin %r added with arguments %r has already been added with arguments %r"
                          % ("foo", dict(argument=2), dict(argument=1)))
     else:
         self.fail("RuntimeError not raised")
예제 #5
0
    def create_test(self, name, passed):
        """
        Utility function to create a mocked test with name
        that is either passed or failed
        """
        test_case = mock.Mock(spec_set=TestCaseMockSpec)
        test_case.configure_mock(name=name)

        def run_side_effect(*args, **kwargs):  # pylint: disable=unused-argument
            """
            Side effect that registers that is has been run
            """
            self._tests.append(name)
            return passed

        test_case.run.side_effect = run_side_effect
        return test_case
예제 #6
0
def make_config(sim_options=None, generics=None, verilog=False):
    """
    Utility to reduce boiler plate in tests
    """
    cfg = mock.Mock(spec=Configuration)
    cfg.library_name = "lib"

    if verilog:
        cfg.entity_name = "modulename"
        cfg.architecture_name = None
    else:
        cfg.entity_name = "ent"
        cfg.architecture_name = "arch"

    cfg.sim_options = {} if sim_options is None else sim_options
    cfg.generics = {} if generics is None else generics
    return cfg
예제 #7
0
 def test_add_type():
     adder = BuiltinsAdder()
     function = mock.Mock()
     adder.add_type("foo", function)
     adder.add("foo", dict(argument=1))
     function.assert_called_once_with(argument=1)