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

Project Responsible for Type
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