mirror of
https://github.com/linux-msm/bootrr.git
synced 2026-02-25 13:12:03 -08:00
bc331ca133a7f718efde2d59bf58d78e480263c1
Current bootrr helpers, assert_device_present and assert_driver_present, use driver and device names, both of which are not part of the kernel's stable ABI and end up requiring extra maintenance whenever those names are changed, in order to check for the expected name on each kernel version. Introduce a new helper, assert_usb_probed, that verifies a USB device has been probed, taking as parameters the device's hardware identifying properties, which are documented kernel ABI: idVendor, idProduct, bcdDevice, bDeviceClass, bDeviceSubClass, bDeviceProtocol, bInterfaceClass, bInterfaceSubClass, bInterfaceProtocol, bInterfaceNumber. A 'count' parameter is also required, to inform the number of devices matching these criteria that should have been probed. This allows the test to verify the probe of multiple identical devices. A '*' can be used as wildcard for any of the matching fields as necessary. Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
Bootrr
A sanity checker for boards under automated test on LAVA.
Before running the tests for your software stack on LAVA, you really want to ensure that the basics are in place.
Testing that all the expected hardware is detected and that modules and firmwares can be loaded catches some very common kind of regressions: for instance, when renaming identifiers it is often the case that firmware blobs no longer get loaded since their location needs to be updated accordingly.
This repository contains:
- static board descriptions that list what to expect for each specific board type
- helpers to inspect the current system and compare it against the static board description for it
- the
bootrrscript to automatically detect the current board and run the matching tests
The output is in a format meant to be directly parsed by LAVA.
Install
$ make prefix=/usr/local DESTDIR=/ install
Usage
$ bootrr
<LAVA_SIGNAL_TESTCASE TEST_CASE_ID=deferred-probe-empty RESULT=skip>
<LAVA_SIGNAL_TESTCASE TEST_CASE_ID=all-cpus-are-online RESULT=pass>
Related Efforts
- LAVA - A continuous integration system for deploying operating systems onto physical and virtual hardware for running tests.
- KernelCI - Community-led test system focused on the upstream Linux kernel.
License
BSD-3-Clause
Description
Languages
Shell
99.4%
Makefile
0.6%