| ================= |
| Setup |
| ================= |
| |
| The test suite uses 'pytest'. It requires at least Python 3.6. To set up call: |
| |
| python3.6 -m venv venv |
| source venv/bin/activate |
| pip install -r requirements.txt |
| |
| |
| ================= |
| Test descriptions |
| ================= |
| |
| ---------------------------------------------------------- |
| Tests for the scripting that generates the svunit framework |
| ---------------------------------------------------------- |
| frmwrk_0: generate a basic unit test for a class |
| frmwrk_1: generate a basic unit test for a class with a different name than the file name |
| frmwrk_2: test the comment parsing with one basic unit test for a class that has a bunch of comments mixed in. also filtering of 'virtual' keyword (ticket #29) |
| frmwrk_3: test multiple classes (2) in the same file as well as 1 virtual class |
| frmwrk_4: test 2 basic unit tests for a class in different dirs with classes that are in different dirs |
| frmwrk_5: DEPRECATED (replaced by example_all) |
| frmwrk_6: testrunner created from 3 levels of test hierarchy |
| frmwrk_7: "no unit tests" message delivered and create_svunit.pl returns 1 for multi-level hierarchy without unit tests (see ticket #5) |
| frmwrk_8: testrunner created from 3 levels of test hierarchy. no unit tests in root. |
| frmwrk_9: multi-level hierarchy, class unit tests in some but not all child dirs and in the test root dir (see ticket #5) |
| frmwrk_10: generate a basic unit test for a module |
| frmwrk_11: generate a basic unit test for a interface |
| frmwrk_12: verify create_unit_test.pl output file extension is .sv regardless of input file extension |
| frmwrk_13: verify create_unit_test.pl output goes to `pwd` |
| frmwrk_14: verify the Setup.csh and running in the csh |
| frmwrk_15: verify svunit_unit_test.pl -out switch |
| frmwrk_16: verify unit test templates are created properly for interfaces declared as 'automatic' |
| frmwrk_17: verify class unit test templates can be generated without an input file (i.e. generate a template from a name) |
| frmwrk_18: verify module unit test templates can be generated without an input file (i.e. generate a template from a name) |
| frmwrk_19: verify interface unit test templates can be generated without an input file (i.e. generate a template from a name) |
| frmwrk_20: generate basic unit tests for modules with static and automatic qualifiers |
| frmwrk_21: the SVUNIT_VERSION doesn't need to be defined |
| frmwrk_22: unit test files can be declared static or automatic |
| frmwrk_23: same structure as frmwrk_6 except dump all the generated file in a different dir with the -o switch |
| |
| --------------------------------- |
| Tests for the simulator makefiles |
| --------------------------------- |
| sim_ius_mk_0: run the framework for a single class unit test with ius |
| sim_ius_mk_1: run the framework for a single module unit test with vcsi |
| sim_ius_mk_2: run the framework for a single interface unit test with vcsi |
| sim_ius_mk_3: verify the test PASS/FAIL status |
| sim_ius_mk_4: check the -d/--define arg handling |
| sim_ius_mk_5: check the -r/--r_arg arg handling |
| sim_ius_mk_6: check the -c/--c_arg arg handling |
| sim_ius_mk_7: check the -o/--out arg handling |
| sim_vcsi_mk_0: run the framework for a single class unit test with vcsi |
| sim_vcsi_mk_1: run the framework for a single module unit test with vcsi |
| sim_vcsi_mk_2: run the framework for a single interface unit test with vcsi |
| sim_vcsi_mk_3: verify the test PASS/FAIL status |
| sim_vcsi_mk_4: check the -d/--define arg handling |
| sim_vcsi_mk_5: check the -r/--r_arg arg handling |
| sim_vcsi_mk_6: check the -c/--c_arg arg handling |
| sim_questa_mk_0: run the framework for a single class unit test with questa |
| sim_questa_mk_1: run the framework for a single module unit test with questa |
| sim_questa_mk_2: run the framework for a single interface unit test with questa |
| sim_questa_mk_3: verify the test PASS/FAIL status |
| sim_questa_mk_4: check the -d/--define arg handling |
| sim_questa_mk_5: check the -r/--r_arg arg handling |
| sim_questa_mk_6: check the -c/--c_arg arg handling |
| sim_questa_mk_7: check the -o/--out arg handling |
| sim_not_from_pwd: verify make variables allow sims to be run from directories other than pwd |
| sim_not_from_pwd_multi_testsuites: same as sim_not_from_pwd except with multiple levels of hierarchy (same hierarchy as frmwrk_6) make at every level to verify the entire hierarchy runs |
| sim_questa_filelist_0: verify file lists are added properly with questa |
| sim_questa_filelist_1: verify file lists are added properly with questa with the -o switch |
| sim_ius_filelist_0: verify file lists are added properly with ius |
| sim_ius_filelist_1: verify file lists are added properly with ius with the -o switch (pointing to pwd) |
| |
| ------------------- |
| SVUnit base testing |
| ------------------- |
| svunit_base_vcs_0: test the use of the svunit logging macros with vcs |
| svunit_base_vcs_1: verify the string PASS/FAIL status |
| svunit_base_questa_0: test the use of the svunit logging macros with questa |
| svunit_base_questa_1: verify the string PASS/FAIL status |
| svunit_base_ius_0: test the use of the svunit logging macros with ius |
| |
| ------------- |
| Example tests |
| ------------- |
| example_uvm_simple_model run the uvm simple model example |
| example_uvm_uvm_express run the uvm express example |
| example_modules_apb_slave run the modules apb slave example |
| example_all_from_root run the entire suite of examples from the example dir |
| example_all run all the examples after generating makefiles from /examples |
| |
| ---------- |
| Mock tests |
| ---------- |
| mock_uvm_report unit tests for the svunit_uvm_report_mock |