本文整理汇总了Python中vunit.project.Project.add_manual_dependency方法的典型用法代码示例。如果您正苦于以下问题:Python Project.add_manual_dependency方法的具体用法?Python Project.add_manual_dependency怎么用?Python Project.add_manual_dependency使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类vunit.project.Project
的用法示例。
在下文中一共展示了Project.add_manual_dependency方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_compile_source_files
# 需要导入模块: from vunit.project import Project [as 别名]
# 或者: from vunit.project.Project import add_manual_dependency [as 别名]
def test_compile_source_files(self):
simif = create_simulator_interface()
simif.compile_source_file_command.side_effect = iter([["command1"], ["command2"]])
project = Project()
project.add_library("lib", "lib_path")
write_file("file1.vhd", "")
file1 = project.add_source_file("file1.vhd", "lib", file_type="vhdl")
write_file("file2.vhd", "")
file2 = project.add_source_file("file2.vhd", "lib", file_type="vhdl")
project.add_manual_dependency(file2, depends_on=file1)
with mock.patch("vunit.simulator_interface.run_command", autospec=True) as run_command:
run_command.side_effect = iter([True, True])
simif.compile_source_files(project)
run_command.assert_has_calls([mock.call(["command1"]),
mock.call(["command2"])])
self.assertEqual(project.get_files_in_compile_order(incremental=True), [])
示例2: test_compile_source_files_continue_on_error
# 需要导入模块: from vunit.project import Project [as 别名]
# 或者: from vunit.project.Project import add_manual_dependency [as 别名]
def test_compile_source_files_continue_on_error(self):
simif = create_simulator_interface()
project = Project()
project.add_library("lib", "lib_path")
write_file("file1.vhd", "")
file1 = project.add_source_file("file1.vhd", "lib", file_type="vhdl")
write_file("file2.vhd", "")
file2 = project.add_source_file("file2.vhd", "lib", file_type="vhdl")
write_file("file3.vhd", "")
file3 = project.add_source_file("file3.vhd", "lib", file_type="vhdl")
project.add_manual_dependency(file2, depends_on=file1)
def compile_source_file_command(source_file):
if source_file == file1:
return ["command1"]
elif source_file == file2:
return ["command2"]
elif source_file == file3:
return ["command3"]
def run_command_side_effect(command):
if command == ["command1"]:
return False
else:
return True
simif.compile_source_file_command.side_effect = compile_source_file_command
with mock.patch("vunit.simulator_interface.run_command", autospec=True) as run_command:
run_command.side_effect = run_command_side_effect
self.assertRaises(CompileError, simif.compile_source_files, project, continue_on_error=True)
self.assertEqual(len(run_command.mock_calls), 2)
run_command.assert_has_calls([mock.call(["command1"]),
mock.call(["command3"])], any_order=True)
self.assertEqual(project.get_files_in_compile_order(incremental=True), [file1, file2])
示例3: TestProject
# 需要导入模块: from vunit.project import Project [as 别名]
# 或者: from vunit.project.Project import add_manual_dependency [as 别名]
#.........这里部分代码省略.........
self.update(mod2)
self.assert_should_recompile([])
self.project = Project()
self.project.add_library("lib", "lib_path")
mod1 = self.add_source_file("lib", "module1.v", contents,
defines={"foo": "other_bar"})
mod2 = self.add_source_file("lib", "module2.v", contents)
self.assert_should_recompile([mod1])
self.update(mod1)
self.update(mod2)
self.assert_should_recompile([])
def test_manual_dependencies(self):
self.project.add_library("lib", "lib_path")
ent1 = self.add_source_file("lib", "ent1.vhd", """\
entity ent1 is
end ent1;
architecture arch of ent1 is
begin
end architecture;
""")
ent2 = self.add_source_file("lib", "ent2.vhd", """\
entity ent2 is
end ent2;
architecture arch of ent2 is
begin
end architecture;
""")
self.project.add_manual_dependency(ent2, depends_on=ent1)
self.assert_compiles(ent1, before=ent2)
@mock.patch("vunit.project.LOGGER", autospec=True)
def test_circular_dependencies_causes_error(self, logger):
self.project.add_library("lib", "lib_path")
self.add_source_file("lib", "ent1.vhd", """\
entity ent1 is
end ent1;
architecture arch of ent1 is
begin
ent2_inst : entity work.ent2;
end architecture;
""")
self.add_source_file("lib", "ent2.vhd", """\
entity ent2 is
end ent2;
architecture arch of ent2 is
begin
ent1_inst : entity work.ent1;
end architecture;
""")
self.assertRaises(CompileError, self.project.get_files_in_compile_order)
logger.error.assert_called_once_with(
"Found circular dependency:\n%s",
"ent1.vhd ->\n"
"ent2.vhd ->\n"
"ent1.vhd")