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)
Application
Client Certification Provider
  • canonical-certification-client executable
  • client certification test plans
Provider
Server Certification Provider
  • server certification test plans
  • additional server test plans
Provider
Checkbox Provider
  • Generic (all platform) job definitions
  • Most of custom “scripts”
  • Default and SRU test plans
Provider
Resource Provider
  • Generic resource jobs
  • Generic binaries for those jobs
Provider
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
Library
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