Skip to content

Expose testing api for use by external plugins

Background

In the future, we are planning on reducing the number of plugins contained in BuildStream Core.

We are planning on reducing the number of plugins contained in BuildStream Core. As we migrate plugins away from core, we want to maintain at least their current levels of test coverage. Currently, external plug-ins are maintaining their own copies of BuildStream's testing utilities [1,2]. This unnecessarily increases the maintenance effort associated with external plug-ins.

In order to make testing of external plug-ins easier and keep their maintenance overhead manageable, we should expose the testing utilities required to test plug-ins as a stable public api. This was originally discussed here.

This will also make it easier for users who wish to create their own plug-ins.

[1] https://gitlab.com/BuildStream/bst-external/tree/master/tests

[2] https://gitlab.com/BuildStream/bst-plugins-container/tree/master/tests

Task description

The starting point for this api is testutils/runcli.py and testutils/integration.py test fixture.

  • Expose testing api for use by external plugins

Acceptance Criteria


To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information