Skip to content

Use tox as a frontend for running tests

Chandan Singh requested to merge chandan/toxify into master

Description

Using tox will allow us to run tests in a more isolated environment, which should result in better reproducibility of tests when running across various environments. To further that cause, this MR also adds frozen requirements for all our python dependencies (including transitive ones) so that we always run tests with a consistent set of dependencies.

See https://mail.gnome.org/archives/buildstream-list/2018-December/msg00054.html some related discussion.

TODO:

  • Move installation of non-Python build dependencies to testsuite images - buildstream-docker-images!84 (merged)
  • Stop installing build and test Python dependencies in testsuite images
  • Update this MR accordingly

Changes proposed in this merge request:

  • Add requirements files for install, test and plugin dependencies
  • Add tox.ini to enable running tests using tox
  • .gitlab-ci.yml: Run tests, generate docs using tox
  • CONTRIBUTING.rst: Updated to reflect running tests/generating docs using tox.
  • CONTRIBUTING.rst: Add steps for installing non-python build dependencies
Edited by Chandan Singh

Merge request reports