Running the Fedora kernel regression tests

When a new kernel is released, users often want to know if it’s usable. The kernel has a set of test cases that can be run to help validate it. These tests are run automatically on every successful build. They are designed to validate a basic set of functionality and some Fedora specific features, such as secure boot signing. Here’s how you can run them.

This wiki page provided by the Fedora QA team describes the process to run the regression tests on your local machine. To run these tests, you need the gcc, git, and python-fedora packages installed on your system. Use this sudo command if needed:

sudo dnf install gcc git python-fedora

Getting and running the tests

First, clone the kernel-tests repository and move into the directory:

git clone https://pagure.io/kernel-tests.git
cd kernel-tests

Next, set some configuration options. The easiest way to get started is to copy the config.example file:

cp config.example .config

The most important settings are the ones labeled to set submission. By default, tests do not submit results to the server. To submit results anonymously, use the setting submit=anonymous. To submit results linked to your FAS username, set submit=authenticated and username=<your FAS login> in .config. If you link your submission to your FAS username, you’ll also receive a Fedora badge.

To run the basic set of tests, use this command:

$ sudo ./runtests.sh

To run the performance test suites, use this command:

$ sudo ./runtests.sh -t performance

The expected result is that the tests pass. However, some tests may fail occasionally due to system load. If a test fails repeatedly, though, consider helping by reporting the failure on Bugzilla.

Running these regression tests helps validate the kernel. Look for more tests added in the near future to help make the kernel better.

Fedora Contributor Community Fedora Project community Using Software

5 Comments

  1. Ricky

    I’m always looking for method to test if new kernel from Fedora break NVIDIA graphics card driver. It is usually a showstopper for Fedora folks who has NVIDIA graphics card to upgrade their kernel. Rolling back kernel is messy. Because you have to enter into level 3 and type command to roll back in console.

    For saving my time, I set kernel not upgrade and keep its kernel header RPM somewhere in case it breaks.

    So I wonder how you guys are going to address this issue?

  2. V

    Thank you Laura for this Guide !

    I think it is the most useful part in our side to test the new kernels on our hardware because the diversity of hardware each fedora user offers is the most critical and valuable feedback and help we can offer to kernel team that is the most important in Linux .

    i will start using it , since i was looking a way to help 🙂

    p.s. is there anything that i should be aware off or there is nothing to afraid about the normal fedora installation or my hardware ?

  3. andreas

    Nice article! how could someone get more involved with the fedora kernel?

  4. I got this error:

    ./default/stack-randomness                                       PASS    
    [proxychains] DLL init: proxychains-ng 4.11

    Test suite complete                                              PASS    

    Your log file is being submitted
    [proxychains] DLL init: proxychains-ng 4.11
    [proxychains] DLL init: proxychains-ng 4.11
    [proxychains] Strict chain  ...  127.0.0.1:1080  ...  apps.fedoraproject.org:443  ...  OK
    [proxychains] Strict chain  ...  127.0.0.1:1080  ...  id.fedoraproject.org:443  ...  OK
    Traceback (most recent call last):
      File "./fedora_submit.py", line 52, in &lt;module&gt;
        files= { 'test_result': ('logfile', open(log, 'rb'), 'text/x-log'),}
      File "/usr/lib/python2.7/site-packages/fedora/client/openidbaseclient.py", line 258, in send_request
        'output': to_bytes(output.text),
    fedora.client.ServerError: ServerError(https://apps.fedoraproject.org/kerneltest/upload/anonymous, 413, Error returned from json module while processing https://apps.fedoraproject.org/kerneltest/upload/anonymous: No JSON object could be decoded
    &lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"&gt;
    &lt;title&gt;413 Request Entity Too Large&lt;/title&gt;
    &lt;h1&gt;Request Entity Too Large&lt;/h1&gt;
    &lt;p&gt;The data value transmitted exceeds the capacity limit.&lt;/p&gt;
    )
  5. Andy Mender

    Amazing! Thanks for this hands-on article :).

Comments are Closed

The opinions expressed on this website are those of each author, not of the author's employer or of Red Hat. Fedora Magazine aspires to publish all content under a Creative Commons license but may not be able to do so in all cases. You are responsible for ensuring that you have the necessary permission to reuse any work on this site. The Fedora logo is a trademark of Red Hat, Inc. Terms and Conditions