In this PR the verification environment for PyUVM tests is updated to use nox to manage test collection and execution. In particular:
nox sessions are prepared to enforce Python coding styles with isort, flake8, and black formatting/linting tools. Configuration of linting tools is stored in .flake8 and pyproject.toml files.
function verify_block is prepared to easily create sessions, which run a set of tests from the VeeR-EL2' Core submodules.
function isSimFailure is added to detect, whether simulation (test) ended with errors. This is needed, because cocotb stores the information about failed simulations in an .xml file. Return codes are used by cocotb to signal that the tool had internal problems rather than that a single test failed.
Common Makefile is created, which will be reused by block level tests. It's main function is to provide common settings for all tests and reuse the cocotb's Makefile to execute simulations.
In this PR the verification environment for PyUVM tests is updated to use nox to manage test collection and execution. In particular:
isort
,flake8
, andblack
formatting/linting tools. Configuration of linting tools is stored in.flake8
andpyproject.toml
files.verify_block
is prepared to easily create sessions, which run a set of tests from the VeeR-EL2' Core submodules.isSimFailure
is added to detect, whether simulation (test) ended with errors. This is needed, because cocotb stores the information about failed simulations in an.xml
file. Return codes are used by cocotb to signal that the tool had internal problems rather than that a single test failed.