mirror of
https://github.com/chatmail/core.git
synced 2026-04-05 15:02:11 +03:00
To preview the docs, run:
```
scripts/build-python-docs.sh
firefox dist/html/index.html
```
I have removed the Makefile because modern Sphinx Makefile is just a
wrapper for `sphinx-build -M`:
3596590317/sphinx/templates/quickstart/Makefile.new_t
and sphinx-quickstart even has an option `--no-makefile`.
`make.bat` makes even less sense.
In `scripts/build-python-docs.sh` I use `sphinx-build` directly
without `make` wrapper.
50 lines
1.6 KiB
ReStructuredText
50 lines
1.6 KiB
ReStructuredText
Running Tests
|
|
=============
|
|
|
|
Recommended way to run tests is using `scripts/run-python-test.sh`
|
|
script provided in the core repository.
|
|
|
|
This script compiles the library in debug mode and runs the tests using `tox`_.
|
|
By default it will run all "offline" tests and skip all functional
|
|
end-to-end tests that require accounts on real email servers.
|
|
|
|
.. _`tox`: https://tox.wiki
|
|
.. _livetests:
|
|
|
|
Running "Live" Tests With Temporary Accounts
|
|
--------------------------------------------
|
|
|
|
If you want to run live functional tests
|
|
you can set ``CHATMAIL_DOMAIN`` to a domain of the email server
|
|
that creates email accounts like this::
|
|
|
|
export CHATMAIL_DOMAIN=nine.testrun.org
|
|
|
|
With this account-creation setting, pytest runs create ephemeral email accounts on the server.
|
|
These accounts have the pattern `ci-{6 characters}@{CHATMAIL_DOMAIN}`.
|
|
After setting the variable, either rerun `scripts/run-python-test.sh`
|
|
or run offline and online tests with `tox` directly::
|
|
|
|
tox -e py
|
|
|
|
Each test run creates new accounts.
|
|
|
|
Developing the Bindings
|
|
-----------------------
|
|
|
|
If you want to develop or debug the bindings,
|
|
you can create a testing development environment using `tox`::
|
|
|
|
export DCC_RS_DEV="$PWD"
|
|
export DCC_RS_TARGET=debug
|
|
tox -c python --devenv env -e py
|
|
. env/bin/activate
|
|
|
|
Inside this environment the bindings are installed
|
|
in editable mode (as if installed with `python -m pip install -e`)
|
|
together with the testing dependencies like `pytest` and its plugins.
|
|
|
|
You can then edit the source code in the development tree
|
|
and quickly run `pytest` manually without waiting for `tox`
|
|
to recreating the virtual environment each time.
|