Checkbox is a testing framework used to validate device compatibility with Ubuntu Linux. It’s the testing tool developed for the purposes of the Ubuntu Certification program.
You can use Checkbox to check if your system is behaving correctly, or you can develop your own set of tests to check your needs.
Checkbox generates test reports in different formats (HTML, JSON, JUnit, plain text) that can be used to easily share the results of a test session.
For more information, check the documentation (installation instructions).
To get started with Checkbox, follow the Checkbox tutorial (installation instructions).
Check the contributing guide to learn how to:
Checkbox is composed of a number of parts:
checkbox-core-snap
: snapcraft recipe to build the Checkbox core snap which contains the Checkbox runtime and the public providers (i.e. the checkbox[16|18|20|22]
snaps in the Snap store)checkbox-ng
: the core applicationcheckbox-snap
: snapcraft recipe to build the Checkbox test runner (i.e. the checkbox
snap in the Snap store)checkbox-support
: Python scripts and helper modules (for instance information parsers for different Linux utilities) used by Checkbox and its providersmetabox
: application to help test and validate Checkbox in different configurations using Linux containers or virtual machinesproviders
: the main providers (base
[^1], resource
) along with other public providers[^2]:
└── providers
├── base
├── certification-client
├── certification-server
├── docker
├── genio
├── gpgpu
├── iiotg
├── resource
├── sru
└── tpm2
[^1]: formerly known as "Checkbox provider" or plainbox-provider-checkbox
[^2]: beside Checkbox framework bundled providers, providers hosted elsewhere can also be used (e.g. providers specific to private projects).