summaryrefslogtreecommitdiff
path: root/CONTRIBUTING.rst
diff options
context:
space:
mode:
authorJonas Smedegaard <dr@jones.dk>2017-06-24 09:21:31 +0200
committerJonas Smedegaard <dr@jones.dk>2017-06-24 09:21:31 +0200
commitc21cbbf9667991d2b928562a9c199e625d3f9bba (patch)
treeffd5e6895a578102ed9055fbb02a88031154ae0b /CONTRIBUTING.rst
parentde62b6456bebd130f98ce6192cd63ff42e654fac (diff)
parent23a3372144215c9ba7a30d599164677284813fa4 (diff)
downloadbiboumi-c21cbbf9667991d2b928562a9c199e625d3f9bba.tar.gz
biboumi-c21cbbf9667991d2b928562a9c199e625d3f9bba.tar.bz2
biboumi-c21cbbf9667991d2b928562a9c199e625d3f9bba.tar.xz
biboumi-c21cbbf9667991d2b928562a9c199e625d3f9bba.zip
New upstream version 5.0
Diffstat (limited to 'CONTRIBUTING.rst')
-rw-r--r--CONTRIBUTING.rst45
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