Add a paragraph describing the automated tests
This commit is contained in:
@@ -39,6 +39,42 @@ It is also recommended to add some unit or end-to-end tests for the proposed
|
|||||||
changes.
|
changes.
|
||||||
|
|
||||||
|
|
||||||
|
Tests
|
||||||
|
-----
|
||||||
|
|
||||||
|
There are two test suites for biboumi:
|
||||||
|
|
||||||
|
- unit tests that can be run simply using `make check`.
|
||||||
|
These tests use the Catch test framework, are written in pure C++
|
||||||
|
and they should always succeed, in all possible build configuration.
|
||||||
|
|
||||||
|
- a more complex end-to-end test suite. This test suite is written in python3,
|
||||||
|
uses a specific IRC server (`charybdis`_), and only tests the most complete
|
||||||
|
biboumi configuration (when all dependencies are used). To run it, you need
|
||||||
|
to install various dependencies: refer to fedora’s `Dockerfile.base`_ and
|
||||||
|
`Dockerfile`_ to see how to install charybdis, slixmpp, botan, litesql, an
|
||||||
|
ssl certificate, etc.
|
||||||
|
|
||||||
|
Once all the dependencies are correctly installed, the tests are run with
|
||||||
|
|
||||||
|
`make e2e`
|
||||||
|
|
||||||
|
To run one or more specific tests, you can do something like this:
|
||||||
|
|
||||||
|
`make biboumi && python3 ../tests/end_to_end self_ping basic_handshake_success`
|
||||||
|
|
||||||
|
This will run two tests, self_ping and basic_handshake_success.
|
||||||
|
|
||||||
|
To write additional tests, you need to add a Scenario
|
||||||
|
into `the __main__.py file`_. If you have problem running this end-to-end
|
||||||
|
test suite, or if you struggle with this weird code (that would be
|
||||||
|
completely normal…), don’t hesitate to ask for help.
|
||||||
|
|
||||||
|
|
||||||
|
All these tests automatically run with various configurations, on various
|
||||||
|
platforms, using gitlab CI.
|
||||||
|
|
||||||
|
|
||||||
Coding style
|
Coding style
|
||||||
------------
|
------------
|
||||||
Please try to follow the existing style:
|
Please try to follow the existing style:
|
||||||
@@ -55,3 +91,7 @@ Please try to follow the existing style:
|
|||||||
.. _gitlab merge request: https://lab.louiz.org/louiz/biboumi/merge_requests/new
|
.. _gitlab merge request: https://lab.louiz.org/louiz/biboumi/merge_requests/new
|
||||||
.. _github pull request: https://github.com/louiz/biboumi/pulls
|
.. _github pull request: https://github.com/louiz/biboumi/pulls
|
||||||
.. _XMPP chatroom: xmpp:biboumi@muc.poez.io
|
.. _XMPP chatroom: xmpp:biboumi@muc.poez.io
|
||||||
|
.. _Dockerfile.base: docker/biboumi-test/fedora/Dockerfile.base
|
||||||
|
.. _Dockerfile: docker/biboumi-test/fedora/Dockerfile
|
||||||
|
.. _charybdis: https://github.com/charybdis-ircd/charybdis
|
||||||
|
.. _the __main__.py file: tests/end_to_end/__main__.py
|
||||||
Reference in New Issue
Block a user