diff options
author | louiz’ <louiz@louiz.org> | 2017-06-28 14:41:33 +0200 |
---|---|---|
committer | louiz’ <louiz@louiz.org> | 2017-06-28 14:41:33 +0200 |
commit | 13a1ab1878fd6312aea485ded3f5bad59c36f17f (patch) | |
tree | 071b90523126d677f714cbf13346507f2e500d69 /CONTRIBUTING.rst | |
parent | a1349361d2c15929e8260536c9091f2a4c2048a4 (diff) | |
parent | 7e69d0387e85eeed10d605349feeba595c3fa0ee (diff) | |
download | biboumi-13a1ab1878fd6312aea485ded3f5bad59c36f17f.tar.gz biboumi-13a1ab1878fd6312aea485ded3f5bad59c36f17f.tar.bz2 biboumi-13a1ab1878fd6312aea485ded3f5bad59c36f17f.tar.xz biboumi-13a1ab1878fd6312aea485ded3f5bad59c36f17f.zip |
Merge remote-tracking branch 'remotes/debian/master' into debian
Diffstat (limited to 'CONTRIBUTING.rst')
-rw-r--r-- | CONTRIBUTING.rst | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index ed3915f..74459d1 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -9,12 +9,17 @@ but that’s mainly for the convenience of users. Before doing anything, you can come on the `XMPP chatroom`_ to discuss your changes, issues or ideas. + Bug reports, feature requests ----------------------------- To open a bug report, or a feature request, please do so on `our gitlab’s bug tracker`_. +If the bug you’re reporting is about a bad behaviour of biboumi when some XMPP +or IRC events occur, please try to reproduce the issue with a biboumi running +in log_level=0, and include the relevant logs in your bug report. + If the issue you’re reporting may have security implications, please select the “confidential” flag in your bug report. @@ -34,6 +39,42 @@ It is also recommended to add some unit or end-to-end tests for the proposed 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 ------------ Please try to follow the existing style: @@ -50,3 +91,7 @@ Please try to follow the existing style: .. _gitlab merge request: https://lab.louiz.org/louiz/biboumi/merge_requests/new .. _github pull request: https://github.com/louiz/biboumi/pulls .. _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
\ No newline at end of file |