Coverage for hdl_registers/generator/python/test/accessor/test_accessor_py.py: 100%

26 statements  

« prev     ^ index     » next       coverage.py v7.6.12, created at 2025-03-12 11:11 +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# -------------------------------------------------------------------------------------------------- 

9 

10 

11import pytest 

12from tsfpga.system_utils import read_file 

13 

14 

15@pytest.fixture(scope="module") 

16def default_accessor_py(generate_default_accessor) -> str: 

17 """ 

18 Get the python code of the default accessor class. 

19 Can also be shared in the whole module since no data is changed. 

20 """ 

21 tmp_session_path, _ = generate_default_accessor 

22 return read_file(tmp_session_path / "test_accessor.py") 

23 

24 

25def test_correct_methods_for_r_register(default_accessor_py): 

26 assert "def read_reg_r(" in default_accessor_py 

27 assert "def write_reg_r(" not in default_accessor_py 

28 assert "def write_reg_r_bit_aa0(" not in default_accessor_py 

29 

30 

31def test_correct_methods_for_w_register(default_accessor_py): 

32 assert "def read_reg_w(" not in default_accessor_py 

33 assert "def write_reg_w(" in default_accessor_py 

34 assert "def write_reg_w_bit_aa0(" in default_accessor_py 

35 

36 

37def test_correct_methods_for_r_w_register(default_accessor_py): 

38 assert "def read_reg_r_w(" in default_accessor_py 

39 assert "def write_reg_r_w(" in default_accessor_py 

40 assert "def write_reg_r_w_bit_aa0(" in default_accessor_py 

41 

42 

43def test_correct_methods_for_wpulse_register(default_accessor_py): 

44 assert "def read_reg_wpulse(" not in default_accessor_py 

45 assert "def write_reg_wpulse(" in default_accessor_py 

46 assert "def write_reg_wpulse_bit_aa0(" in default_accessor_py 

47 

48 

49def test_correct_methods_for_r_wpulse_register(default_accessor_py): 

50 assert "def read_reg_r_wpulse(" in default_accessor_py 

51 assert "def write_reg_r_wpulse(" in default_accessor_py 

52 assert "def write_reg_r_wpulse_bit_aa0(" in default_accessor_py