From 7f2e74c09161737ca0b84995c5017b0fd043f32b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Thu, 7 Nov 2019 18:59:43 +0100 Subject: Add a doc describing how to write e2e tests --- doc/contributing.rst | 28 +++------------------------- 1 file changed, 3 insertions(+), 25 deletions(-) (limited to 'doc/contributing.rst') 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 __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. - + 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. -- cgit v1.2.3