This subtree contains test library code that could aid in the writing of chip-level tests. Test library code consists of two components:
testutils libraries, andFunctions in testutils libraries are designed to wrap several DIF invocations that are commonly used together across many chip-level tests. They are not designed to wrap a single DIF call.
The on-device test framework provides a generic platform for writing chip-level tests.
testutils libraries should be placed in sw/device/lib/testing/*sw/device/lib/testing/test\_framework.testutils libraries will be named: <IP or functionality name>_testutils.<h,c>testutils function names should take on the following format: <IP or functionality name>_testutils_<function name>(). This corresponds to the format: <filename>_<function name>().testutils functions should return void or bool. This is because test errors should be checked in testutils functions themselves using the CHECK() macros defined in sw/device/lib/testing/check.h.testutils libraries toplevel agnostic (e.g., don’t include hw/top_earlgrey/sw/autogen/top_earlgrey.h if you can avoid it). This means dif_<ip>_init() DIFs should be invoked in chip-level tests, not testutils, and the DIF handles should be passed in as parameters to testutils functions.sw/device/lib/dif_base.h types where appropriate. This allows testutils functions to easily mix with DIFs within chip-level tests.{{% sectionContent %}}