title: “Chip-Level Test Libraries”
This subtree provides libary code for writing chip-level tests. Test library code should be considered any (reusable) code that could aid in the writing of chip-level tests.
Test Types
- Chip-level Tests - A collection of software level tests that run on OpenTitan hardware, whose main purpose is pre-silicon verification and post-silicon bringup. These tests consist of: smoke, IP integration, and system-level tests. These tests are all executed on-device using the [on-device test framework]({{< relref “sw/device/lib/testing/test_framework/index.md” >}}). While most of these tests are top-level agnostic, some are not.
- Smoke Tests - A software level test, written in C using DIFs, that performs a minimal set of operations on a given IP block to verify that it is alive and functioning.
- IP Integration Tests - A software level test, written in C, that exercises some specific functionality specific to a given IP and toplevel. The Eargrey toplevel test plan describes these tests.
- System-level Scenario Test - A software level test, written in C, that mimics complex system level use case scenarios. Such a test is designed to encompass multiple pieces of functionality tested by the IP integration tests.
Subfoldering Rules
- [on-device test framework]({{< relref “sw/device/lib/testing/test_framework/index.md” >}}) code will live in: sw/device/lib/testing/test_framework.
- Remaining test library code will not be subfoldered.
File Naming Conventions
- Test libary code will be named: {IP or functionality name}_testutils.{h,c}
Documentation Index
{{% sectionContent %}}