OTA Connect Developer Guide

Testing

QA with oe-selftest

This layer relies on the test framework oe-selftest for quality assurance. Currently, you will need to run this in a build directory with MACHINE set to qemux86-64. Follow the steps below to run the tests:

  1. Append the line below to conf/local.conf to disable the warning about supported operating systems:

    SANITY_TESTED_DISTROS = ""
  2. If your image does not already include an ssh daemon such as dropbear or openssh, add this line to conf/local.conf as well:

    IMAGE_INSTALL_append = " dropbear "
  3. Some tests require that SOTA_PACKED_CREDENTIALS is set in your conf/local.conf. See the SOTA-related variables in local.conf.

  4. To be able to build an image for the GRUB tests, you will need to install the ovmf package as described in the dependencies section.

  5. Run oe-selftest:

    oe-selftest -r updater_native updater_qemux86_64 updater_minnowboard updater_raspberrypi updater_qemux86_64_ptest

For more information about oe-selftest, including details about how to run individual test modules or classes, please refer to the Yocto Project wiki.

Aktualizr test suite with ptest

The meta-updater layer includes support for running parts of the aktualizr test suite on deployed devices through Yocto’s ptest functionality. Since it adds significant build time cost, it is currently disabled by default. To enable it, add the following to your conf/local.conf:

PTEST_ENABLED_pn-aktualizr = "1"
IMAGE_INSTALL_append += " aktualizr-ptest ptest-runner "

Be aware that it will add several hundreds of MB to the generated file system.

The aktualizr tests will now be part of the deployed ptest suite, which can be run by calling ptest-runner. Alternatively, the required files and run script can be found in /usr/lib/aktualizr/ptest.