Welcome to the Checkbox project source code repository!
Checkbox is a flexible test automation software. It’s the main tool used in the Ubuntu Certification program.
You can use Checkbox without any modification to check if your system is behaving correctly or you can develop your own set of tests to check your needs.
Checkbox optionally generates test reports in different formats (HTML, JSON, text) that can be used to easily share the results of a test session.
For more information, check the official documentation.
To get started, setup a test environment, run Checkbox and its providers, run the associated tests and share your contributions with everyone, please check the contributing guide.
Checkbox is composed of many different parts. Each of them are stored in a different directory:
.
├── checkbox-core-snap
├── checkbox-ng
├── checkbox-snap
├── checkbox-support
├── metabox
└── providers
├── base
├── certification-client
├── certification-server
├── docker
├── edgex
├── gpgpu
├── iiotg
├── ipdt
├── phoronix
├── resource
├── sru
└── tpm2
Here is a brief explanation about each part:
checkbox-ng
: the core applicationcheckbox-support
: Python scripts and helper modules (for instance information parsers for different Linux utilities) used by Checkbox and its providersproviders
: the main providers (base
1,resource
) along with other public providers2checkbox-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-snap
: snapcraft recipe to build the Checkbox test runner (i.e. thecheckbox
snap in the Snap store)metabox
: application to help test and validate Checkbox in different configurations using Linux containers or virtual machines