Targeted tests for merge requests

Tests that are run when specific kernel source files are updated.

Targeted testing is the term used to refer to CKI tests that are configured to run only when specific kernel source files are updated in a merge request and this test is considered to be a good regression test for this file.

In the future merge requests with missing targeted tests will be blocked.

Configuration

The configuration is done in the test case in kpet-db. In case some files should trigger the test, but not be considered for targeted testing the file should be added under trigger_sources list.

Example: block tests

...
target_sources:
- block/blk-cgroup\.c
- block/blk-mq-debugfs\.c
- block/elevator\.c
- block/blk-mq-sched\.c
- block/blk-mq\.c
- block/blk-mq-sysfs\.c
- block/cfq-iosched\.c
- block/kyber-iosched\.c
- block/bfq-iosched\.c
- block/blk-core\.c
- block/mq-deadline\.c
trigger_sources:
- block/.*
...

Missing targeted tests

Merge requests that have missing targeted tests have the ‘TargetedTestingMissing’ label.

What that means?

It means that at least 1 file updated by the merge request doesn’t have a specific test that covers it.

What file(s)?

The list of files missing targeted tests are in the setup jobs in the pipelines (doesn’t matter the architecture they contain the same information).

Example:

Some source files are not targeted by any tests:
fs/userfaultfd.c
include/uapi/linux/userfaultfd.h

What to do?

  1. Looking at CKI tests, maybe some test could be configured to run on that file. It can be confirmed by running the test using code coverage.

  2. Write/onboard new test case for it.

  3. Talk with QE that covers this area to write/onboard new test case for it.

Don’t hesitate to contact CKI team for help.

Last modified February 9, 2023: update information about targeted tests for merge request (82f9230)