Nícolas F. R. A. Prado bc331ca133 helpers: Introduce assert_usb_probed
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>
2023-09-07 16:23:15 -04:00

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 bootrr script 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>
  • 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
No description provided
Readme BSD-3-Clause 234 KiB
Languages
Shell 99.4%
Makefile 0.6%