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