Contributing tests and bug fixes to Ubuntu Friendly
The Ubuntu Friendly program uses the ‘Checkbox’ System Testing tool to run the tests which are used to calculate the score that a system receives on the Ubuntu Friendly website. The tests have been carefully selected to test the hardware in such a way that if a test fails we can say that the hardware component has a major problem. As a user of the Ubuntu Friendly program you might feel that there are tests missing or an existing test is either difficult to use or can produce wrong results. This page explains how to contribute changes to tests or even entirely new tests to the System Testing tool.
Getting the Checkbox source code
If you want to make changes to Checkbox then you need to get the source code. Ideally you should be familiar with the Bazaar source code management system but essentially you just need to do (after installing the package bzr if necessary):
bzr branch lp:checkbox
and the code will be in the directory ‘checkbox’
The structure of the Checkbox project
The checkbox directory contains a large number of sub-directories, most of which contain source code and data files used by the core checkbox application itself. The directories which might be relevant to a contributor to the test suite are:
- Contains files used by the tests themselves such as image and audio sample files.
- The most important directory for a test contributor. This contains a number of files which store checkbox 'job' definitions. A job is a task that Checkbox performs during it's execution and will include (but is not limited to) tests themselves.
- This directory stores any executable file that is used by a Checkbox job. These include automated tests and resource gathering scripts. If you write a test that needs to use a script, you must place it here (unless the script is on the system path by default).