Add a doc describing how to write e2e tests
This commit is contained in:
+3
-25
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user