The “Checkbox Stack”

The Checkbox Stack is a collection of projects that together constitute a complete testing and certification solution. It is composed of the following parts (see table below for extra details). All of the projects are linked to from the Launchpad project group.

Component Descriptions


Responsible for


Checkbox (CLI)

  • The python command-line interface

    • the text user interface

  • Additional certification APIs

    • sending data to Certification website (C3)


Client Certification Provider

  • canonical-certification-client executable

  • client certification test plans


Server Certification Provider

  • server certification test plans

  • additional server test plans


Checkbox Provider

  • Generic (all platform) job definitions

  • Most of custom “scripts”

  • Default and SRU test plans


Resource Provider

  • Generic resource jobs

  • Generic binaries for those jobs


Snappy Provider

  • Job definitions aimed mostly at Ubuntu Core systems

  • “Snap aware” jobs

Checkbox Support

  • Support code for various providers

  • Parsers for many text formats


Plainbox (part of Checkbox)

  • Almost all core logic

    • RFC822 (job definition) parser

    • Configuration handling

    • Testing session (suspend/resume)

    • Job runner

    • Trusted launcher

    • Dependency resolver

    • Command line handling

    • The HTML and XSLX exporters

    • and more…

Library and Development Toolkit