Automated Linux driver test system
Niemi, Kalle (2025)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-202503124153
https://urn.fi/URN:NBN:fi:amk-202503124153
Tiivistelmä
The Linux mainline kernel receives thousands of updates per development cycle, making manual testing impractical. ROHM Semiconductor had the need for an automated Linux driver test system to ensure reliability of the drivers included in the mainline Linux kernel. This thesis was commissioned by ROHM GmbH Finland Software Development Center.
This thesis focused on developing an automated Linux driver test system, using open source Python 3 libraries - BuildBot and LabGrid coupled with pytest. BuildBot is a highly configurable Continuous Integration and Continuous Deployment (CI/CD) software. LabGrid is an embedded board control library with a focus on testing and it comes with pytest as a plugin.
The test system automatically downloads updated versions of the Linux kernel as they appear online, and executes Linux driver tests for eight components. In case a regression is noticed by the test system, automated identification of the singular change that introduced the regression is launched. Detailed results of the tests are uploaded online to a GitHub repository.
This thesis focused on developing an automated Linux driver test system, using open source Python 3 libraries - BuildBot and LabGrid coupled with pytest. BuildBot is a highly configurable Continuous Integration and Continuous Deployment (CI/CD) software. LabGrid is an embedded board control library with a focus on testing and it comes with pytest as a plugin.
The test system automatically downloads updated versions of the Linux kernel as they appear online, and executes Linux driver tests for eight components. In case a regression is noticed by the test system, automated identification of the singular change that introduced the regression is launched. Detailed results of the tests are uploaded online to a GitHub repository.