This repository contains the Checkbox OpenCL Provider (OpenCL-specific test cases and test plans for Checkbox) as well as everything that is required to build the [checkbox-opencl-regression] snap in the snapstore.
Located in the checkbox-provider-opencl directory, it contains:
- the test cases (also called "jobs" in the Checkbox jargon) and test plans to be run by Checkbox (in the
unitsdirectory)
The following will be updated later but currently still contain data from the checkbox-opencl-regression project
- the scripts required by some of the test cases (in the
bindirectory) - the data (sample video, HTML pages) required by some of the test cases (in the
datadirectory) - unit tests for the scripts (in the
testsdirectory)
- Ubuntu Jammy or Noble (22.04/24.04)
- Supported hardware platforms:
- Intel platforms with recent GPU (>= Broadwell)
Install the Checkbox runtime and build/install the opencl-regression provider snaps:
sudo snap install --classic snapcraft
sudo snap install checkbox22
lxd init --auto
git clone https://github.com/mckees/checkbox-opencl-regression
cd checkbox-opencl-regression
snapcraft
sudo snap install --dangerous --classic ./checkbox-opencl-regression_2.0_amd64.snapMake sure that the provider service is running and active:
systemctl status snap.checkbox-opencl-regression.remote-slave.serviceSome test need dependencies, so in order to run all tests, you might way to install those dependencies. A helper script is available to install them:
checkbox-opencl-regression.install-full-depsTo run the full test plan:
checkbox-opencl-regression.regression-testing
Since snaps are immutable, it is not possible to modify the content of the scripts or the test cases. Fortunately, Checkbox provides a functionality to side-load a provider on the DUT.
Therefore, if you want to edit a job definition, a script or a test plan, run the following commands on the DUT:
cd $HOME
git clone https://github.com/mckees/checkbox-opencl-regression
mkdir /var/tmp/checkbox-providers
cp -r $HOME/checkbox-opencl-regression/checkbox-provider-opencl /var/tmp/checkbox-providers/You can then modify the content of the provider in /var/tmp/checkbox-providers/checkbox-provider-opencl/, and it's this version that will be used when you run the tests.
Please refer to the Checkbox documentation on side-loading providers for more information.