Coverage for hdl_registers/generator/python/test/accessor/test_accessor_basic.py: 100%
18 statements
« prev ^ index » next coverage.py v7.6.9, created at 2024-12-19 20:51 +0000
« prev ^ index » next coverage.py v7.6.9, created at 2024-12-19 20:51 +0000
1# --------------------------------------------------------------------------------------------------
2# Copyright (c) Lukas Vik. All rights reserved.
3#
4# This file is part of the hdl-registers project, an HDL register generator fast enough to run
5# in real time.
6# https://hdl-registers.com
7# https://github.com/hdl-registers/hdl-registers
8# --------------------------------------------------------------------------------------------------
10# Third party libraries
11import pytest
12from tsfpga.system_utils import load_python_module
14# First party libraries
15from hdl_registers.generator.python.accessor import PythonAccessorGenerator
16from hdl_registers.generator.python.pickle import PythonPickleGenerator
17from hdl_registers.register_list import RegisterList
20def test_generate_with_no_registers(tmp_path):
21 register_list = RegisterList(name="test")
23 PythonPickleGenerator(register_list=register_list, output_folder=tmp_path).create()
24 PythonAccessorGenerator(register_list=register_list, output_folder=tmp_path).create()
26 python_module = load_python_module(tmp_path / "test_accessor.py")
27 python_module.get_accessor(register_accessor=None)
30def test_create_accessor_without_pickle_should_raise_exception(tmp_path):
31 register_list = RegisterList(name="test")
33 PythonAccessorGenerator(register_list=register_list, output_folder=tmp_path).create()
35 python_module = load_python_module(tmp_path / "test_accessor.py")
36 with pytest.raises(FileNotFoundError) as exception_info:
37 python_module.get_accessor(register_accessor=None)
38 assert str(exception_info.value) == (
39 f"Could not find the pickle file {tmp_path / 'test.pickle'}, "
40 "make sure this artifact is generated."
41 )