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