Gotta Badge ‘Em All: Science

This article is part of an ongoing series about how to earn specific Fedora badges. Learn more about the Science badge!

“Science”: What is it?

Science badge, given to Fedora kernel testers
“You completed a run of the kernel regression test suite”

The Science badge is categorized as a “Quality [Assurance] Badge” and is defined in this Trac ticket. But what’s the real scoop behind the Science badge?

In short, the Science badge is part of a larger series of badges given to anyone who helps test the Fedora kernel using a set of Python scripts to test for important functionalities of the kernel in your system. Running these tests and uploading the logs to the Kernel Development Team helps improve the kernel by providing useful insight and feedback for the kernel team to analyze. All it takes is running a few scripts, uploading logs, and boom – a new badge!

How do I earn “Science”?

Earning Science requires you to clone a git repository, run a few scripts to test the Fedora kernel on your system, and upload the logs generated by the tests to the log tracker. This began with the Kernel Testing Initiative, pioneered by Fedora contributor Justin Forbes in early 2012.

The purpose of this initiative is to allow you, a user of Fedora, to run regression tests of the kernel in Fedora on your own system and provide an analytical report of the tests to the Fedora Kernel Team. These logs help act as “milestones” and “pointers” for how the Fedora kernel is running out in the real world. There are a lot of different architectures and environments, and this option allows users with all kinds of hardware to easily submit this info (and get a few badges for doing it)!

Clone the git repository

The first step you will need to do is clone the git repository where the kernel test scripts are hosted. To do that, open a terminal and run the following command (this requires that you have git already installed).

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

Once you do this, the scripts will be in a new folder in whatever your present working directory is.

Run the scripts

Now that the scripts are on your system, you can now get started running your regression tests! In the terminal, you can run the default test by executing the script with no arguments.

$ ./runtests.sh

You can follow the progress of the tests as the script executes. Once it finishes, a log file will automatically be generated in the logs/ folder. This is the file you will need to get your badge.

If you’re feeling like being adventurous, there are a few other tests you can run.

  • Stress
  • Performance
  • Destructive

The stress and performance tests execute a few additional tests in addition to the default tests to help provide more detailed information about your system and how it works with the kernel. Whenever I run kernel tests, I usually run the default set, the stress set, and the performance set. Be warned, the first two tests can take a long time to execute, so if you are planning to do work while the tests are running, you may want to make a cup of coffee instead.

To run the specific tests, you can use the -t flag followed by the name of the test. For example, let’s say I want to run a performance test.

$ ./runtests.sh -t performance

Note that there is also a destructive test suite. As the name implies, this set of tests does contain some functions and tests that can potentially have devastating effects on your system. In an ideal case, this would not happen, but if the odds are not in your favor, this set of tests can leave you with a broken machine.

If you are running a system with Rawhide or have a spare computer that you don’t care for much, it can help to run the destructive tests on those machines. But it is not advised to run them on a system you depend on or actively use!

Upload your results

Once you finish running tests, it’s time to upload your logs. You can do so via the Kernel Logs app. Uploading the logs will require you to log into the site using your Fedora Account System username and password. After you log in, you will find the page that prompts you to upload new log files.

Upload any logs that were generated from the test or tests that you ran. As soon as you submit the log files, it will be registered in the system, and you will be awarded the badge automatically afterwards.

Congratulations, you have now earned the Science badge!

The “Science” tl;dr

  1. Get the test scripts by cloning their git repo (git clone https://git.fedorahosted.org/git/kernel-tests.git)
  2. Run the test scripts by executing the runtests.sh file (try the stress and performance tests too!)
  3. Upload the logs to the Kernel Logs app
  4. Get badge!

6 comments

    1. Do you have an older system? Usually the performance test takes about fifteen minutes for me. Depending on your system, it may not behave as expected. You should be able to run the default and maybe stress tests fine!

      1. Hey, I let it run for quite some time it then eventually finished the bottleneck was:

        Using config in CONFIG.new-host
        Mon 14 Dec 15:49:08 CET 2015
        Latency measurements
        Mon 14 Dec 18:13:58 CET 2015

        everything after that was done in like 15 minutes.

  1. I’m curious to know how you “get the badge”? Is it automatically added to your profile page/account? Do you have to do something else to obtain it? I’ve run three kernel regression tests and uploaded all the log files over the last couple of days, but I have the same badges that I had before.

    Thanks

Drop a line