<<../_stub_banner.md>>
The Bringup product specification is the most minimal viable target for development. It‘s commonly used for very low-level engineering work, such as kernel development and board-specific drivers and configuration (also known as board bringup, hence the name). Many fundamental engineering workflows and fx
commands don’t work in Bringup.
The next product configuration is called Core. Core adds support for additional engineering workflows, including those used by the testing infrastructure. It is therefore more convenient to run tests on Core when possible, resorting to running tests on Bringup when unavoidable.
We would like to move tests from Bringup to Core as much as possible, in order to improve the developer experience by allowing for faster iteration cycles and easier troubleshooting. Tests that absolutely need to run in Bringup should have a stated reason for this.
The scope of Bringup tests is defined in //bundles/bringup/BUILD.gn
under the group "tests"
.
Pick any test target from //bundles/bringup:tests
.
Some Bringup test targets are annotated with comments that state why they should stay in the Bringup test bundle. Pick a test target without any such annotations and see if you can migrate it.
Move that test to the Core configuration. Attempt to run the test locally or on CQ, and troubleshoot as needed.
Most tests that are currently on Bringup will either fail at first when moved to Core, or will appear to pass but actually skip the otherwise-failing test cases. The root cause is often a trivial configuration issue that manifests itself as a missing path in the test‘s namespace. Fixing these doesn’t require changing the test code, only changing a .cml
file.
If you determine that this test should stay in Bringup, update the BUILD.gn
file to note the reason.
As you run into common failure modes and solutions, please consider documenting them here for reference.
Find reviewers by OWNERS and merge your change.
Reach out for questions or for status updates: