Skip to content

Latest commit

 

History

History
 
 

test

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
=================
Setup
=================

The test suite uses 'pytest'. It requires at least Python 3.6. To set up call:

    python3 -m venv .venv
    source .venv/bin/activate
    pip install -r requirements.txt


=================
Execution
=================

To run, call:

    pytest --html=report.html


=================
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