<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/a-journey-towards-reliable-testing-in-the-linux-kernel-pzdazsf9a" -->

---
title: A journey towards reliable testing in the Linux Kernel
description: Collabora shares their ongoing effort to improve Linux kernel testing reliability through KernelCI. Key challenges include manual testing gaps, fragmented...
canonical: https://daily.dev/posts/a-journey-towards-reliable-testing-in-the-linux-kernel-pzdazsf9a
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: A journey towards reliable testing in the Linux Kernel | daily.dev
og:description: Collabora shares their ongoing effort to improve Linux kernel testing reliability through KernelCI. Key challenges include manual testing gaps, fragmented...
og:url: https://daily.dev/posts/a-journey-towards-reliable-testing-in-the-linux-kernel-pzdazsf9a
og:image: https://api.daily.dev/og/posts/PzDAZSf9a.png
og:image:alt: A journey towards reliable testing in the Linux Kernel
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# A journey towards reliable testing in the Linux Kernel

**[Collabora Blog](https://daily.dev/sources/collabora)** · 5 min read · 0 upvotes · 0 comments

## Summary

Collabora shares their ongoing effort to improve Linux kernel testing reliability through KernelCI. Key challenges include manual testing gaps, fragmented per-subsystem CI, and false positives from poorly maintained tests. Their approach focuses on quality over quantity: developing upstream-mergeable kselftests that use generic kernel interfaces (device tree, ACPI) rather than static hardware descriptions, reducing maintenance burden. Specific work includes replacing the bootrr sanity checker with a more robust kselftest for driver probe verification, and adding RTC wakeup alarm support to the cpufreq suspend/resume selftest for non-interactive CI environments. All new tests have been enabled in the new KernelCI system and have already identified real regressions in mainline and linux-next kernels.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.collabora.com/news-and-blog/blog/2024/08/01/a-journey-towards-reliable-testing-in-the-linux-kernel>

## Questions this post answers

### Why does the bootrr test generate false positives in KernelCI and how can it be fixed?

The bootrr test generates false positives because it relies on static hardware descriptions of the device under test, which require constant maintenance as driver names change over time. A more reliable approach is to derive hardware information from the device tree and ACPI tables instead, allowing the test to check driver binding generically without manual upkeep — reducing both false positives and maintenance burden.

_Kernel CI reliability discussions like this one surface regularly for Linux developers on daily.dev._

### How do I make the cpufreq kselftest suspend/resume test work in a non-interactive CI environment?

The cpufreq selftest's suspend/resume test originally required an external wakeup event after suspend, making it unsuitable for automated CI. Adding RTC wakeup alarm support to the test allows it to resume automatically without manual intervention or prior configuration, making it fully compatible with non-interactive CI systems like KernelCI.

_Developers maintaining kernel selftests for CI pipelines find relevant upstream patches and regression reports on daily.dev._

## Similar posts on daily.dev

- [Linux Kernel API Specification Framework Advances Past RFC Stage](https://daily.dev/posts/linux-kernel-api-specification-framework-advances-past-rfc-stage-rzo4apdfa) · Phoronix · 0 upvotes · 0 comments

---

Tags: [#linux](https://daily.dev/tags/linux), [#cicd](https://daily.dev/tags/cicd)

[View this post on daily.dev](https://daily.dev/posts/a-journey-towards-reliable-testing-in-the-linux-kernel-pzdazsf9a)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"A journey towards reliable testing in the Linux Kernel","url":"https://daily.dev/posts/a-journey-towards-reliable-testing-in-the-linux-kernel-pzdazsf9a","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/a-journey-towards-reliable-testing-in-the-linux-kernel-pzdazsf9a"},"datePublished":"2026-08-11T08:54:37.139Z","dateModified":"2026-08-11T09:02:02.291Z","description":"Collabora shares their ongoing effort to improve Linux kernel testing reliability through KernelCI. Key challenges include manual testing gaps, fragmented...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/7cc8a346799dbfea4aca8141012f5c05?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/7cc8a346799dbfea4aca8141012f5c05?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Collabora Blog","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Collabora Blog","logo":"https://media.daily.dev/image/upload/s--ZGZ0FjqS--/f_auto,q_auto/v1786438306/logos/collabora?_a=BAMAMicg0","url":"https://daily.dev/sources/collabora"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/a-journey-towards-reliable-testing-in-the-linux-kernel-pzdazsf9a","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"linux,cicd","timeRequired":"PT5M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Collabora Blog","item":"https://daily.dev/sources/collabora"},{"@type":"ListItem","position":3,"name":"A journey towards reliable testing in the Linux Kernel"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/a-journey-towards-reliable-testing-in-the-linux-kernel-pzdazsf9a#faq","mainEntity":[{"@type":"Question","name":"Why does the bootrr test generate false positives in KernelCI and how can it be fixed?","acceptedAnswer":{"@type":"Answer","text":"The bootrr test generates false positives because it relies on static hardware descriptions of the device under test, which require constant maintenance as driver names change over time. A more reliable approach is to derive hardware information from the device tree and ACPI tables instead, allowing the test to check driver binding generically without manual upkeep — reducing both false positives and maintenance burden. Kernel CI reliability discussions like this one surface regularly for Linux developers on daily.dev."}},{"@type":"Question","name":"How do I make the cpufreq kselftest suspend/resume test work in a non-interactive CI environment?","acceptedAnswer":{"@type":"Answer","text":"The cpufreq selftest's suspend/resume test originally required an external wakeup event after suspend, making it unsuitable for automated CI. Adding RTC wakeup alarm support to the test allows it to resume automatically without manual intervention or prior configuration, making it fully compatible with non-interactive CI systems like KernelCI. Developers maintaining kernel selftests for CI pipelines find relevant upstream patches and regression reports on daily.dev."}}]}
```

