Switch the unit test runner to pytest.
Review Request #11912 — Created Jan. 9, 2022 and submitted — Latest diff uploaded
Historically, the kgb unit tests made use of
nose
as the test runner.
Unfortunately,nose
1.x is no longer maintained and is incompatible
with modern versions of Python 3. The forks are no better, andnose2
is a very different library.This change moves the codebase over to
pytest
. This is a much more
modern test runner with a lot of interesting capabilities and a wide
ecosystem of plugins.Developers can now run
pytest
directly to run the test suite. The old
./tests/runtests.py
still works, but is deprecated, and merely wraps
pytest
anyway.
Unit tests pass on all supported versions of Python.