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:
- setup a test environment
- run Checkbox and its providers
- run the associated tests
- share your contributions with everyone.
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. thecheckbox[16|18|20|22]
snaps in the Snap store) -
checkbox-ng
: the core application -
checkbox-snap
: snapcraft recipe to build the Checkbox test runner (i.e. thecheckbox
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 providers -
metabox
: application to help test and validate Checkbox in different configurations using Linux containers or virtual machines -
providers
: the main providers (base
1,resource
) along with other public providers2:└── providers ├── base ├── certification-client ├── certification-server ├── docker ├── genio ├── gpgpu ├── iiotg ├── resource ├── sru └── tpm2