Glossary ======== .. glossary:: Hardware certification A process of ensuring that a specific device works well with Ubuntu. For more details see our certification program: https://ubuntu.com/certified Hardware certification team A team inside Canonical working on :term:`Hardware Certification`. DUT Device Under Test. The device being tested by Checkbox. Agent Synonym of :term:`DUT`. Checkbox Checkbox is a hardware testing tool developed by Canonical for certifying hardware with Ubuntu. Checkbox is free software and is available at http://launchpad.net/checkbox. Checkbox-ng Name of the package in Ubuntu Archive that contains Checkbox. Checkbox Controller Checkbox instance that **controls the execution** of tests on the :term:`DUT` or :term:`agent`, such as a laptop. Checkbox Agent Checkbox instance that runs on the :term:`DUT` or :term:`agent` and **executes** tests. Test plan A :ref:`test plan` is a text file used by Checkbox to select jobs for execution. They can include regular expressions to match and pick many similar jobs at once. Job A job is the smallest unit of testing that can be performed by Checkbox. All jobs have a unique identifier. There are many types of jobs, from the manual to the fully automated ones (see the :ref:`job` reference page for more information). Some jobs such as the :term:`resource` jobs are an implementation detail and a part of the internal architecture of Checkbox. Provider A container for jobs, test plans, private executable files and data. Providers are the foundation of Checkbox as they *provide* all of the content. Providers can be created and managed by any entity, separately from the Checkbox project. Namespace A private space for naming job definitions. Each job definition has a partial identifier and a full identifier (typically just called job id). The partial identifier is encoded in job definition file. The full identifier is composed of the namespace of a job provider and the partial identifier, joined with the double-colon string ``::``. Resource A resource is a collection of key-value data sets that are generated by special :ref:`resource jobs`. They are extensively used to indicate hardware or software dependencies. For example a Bluetooth test may indicate it requires Bluetooth hardware and appropriate software packages installed. Bootstrapping Phase of a Checkbox session where :ref:`resource jobs` are executed to gather information about the hardware and :ref:`template jobs` are instantiated based on said hardware. Requirement program Requirement programs are small (one to few lines) programs that use a subset of python to execute some code against resources. They are what actually describes the relationship of a Job to some Resources. For example a resource program ``package.name == "bluez"`` indicates that at least one resource generated by the ``package`` job has a key ``name`` equal to the string ``bluez``. Attachment Attachments are a special type of a Job that can create an attachment record in the submission reports. They are commonly used to include basic system information files and output of certain commands which can aid in system certification. Certification Website The website https://certification.canonical.com/ Secure ID An identifier, similar to Canonical ID, used for hardware certification. This identifier is used when interacting with the Certification Website, it does not reveal anything about the actual hardware (like the manufacturer name or device name).