path: root/doc/contributing.rst
diff options
authorlouiz’ <>2019-11-07 18:59:43 +0100
committerlouiz’ <>2019-11-09 21:06:02 +0100
commit7f2e74c09161737ca0b84995c5017b0fd043f32b (patch)
treed79f13d0f08dd6c6447d273404136d179ee2d8be /doc/contributing.rst
parent7571020243889db72bb0182dbacc84e506afa279 (diff)
Add a doc describing how to write e2e tests
Diffstat (limited to 'doc/contributing.rst')
1 files changed, 3 insertions, 25 deletions
diff --git a/doc/contributing.rst b/doc/contributing.rst
index 26572fa..8f01c82 100644
--- a/doc/contributing.rst
+++ b/doc/contributing.rst
@@ -50,35 +50,13 @@ 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++
+ These tests use the Catch2 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, a ssl
- certificate, etc.
- Once all the dependencies are correctly installed, the tests are run with
-.. code-block:: sh
- make e2e
-To run one or more specific tests, you can do something like this:
-.. code-block:: sh
- 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 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.
+ biboumi configuration (when all dependencies are used).
+ Read more about these tests in the specific documentation TODO.
All these tests automatically run with various configurations, on various
platforms, using gitlab CI.