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)
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
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)
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")
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
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
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)