runbot/runbot_merge/tests
Xavier Morel a6a37f8896 [FIX] runbot_merge: handling of staging cancellation
Move staging cancellation to the batch, remove its (complicated)
handling from the PRs.

This loses some precision in the cancellation message, but that could
likely be recovered (in part) by adding more precise checks &
diagnostic extractions in the compute.
2024-05-23 07:58:58 +02:00
..
conftest.py [IMP] runbot_merge: small reorg of main models file 2021-11-10 13:13:34 +01:00
README.rst [IMP] runbot_merge: test readme & remove leftover pass 2018-09-03 13:16:36 +02:00
test_basic.py [IMP] runbot_merge: fix dual merge of split prioritised PRs 2024-05-23 07:58:58 +02:00
test_by_branch.py [IMP] runbot_merge: small reorg of main models file 2021-11-10 13:13:34 +01:00
test_disabled_branch.py [ADD] runbot_merge: delete scratch branches when a branch is disabled 2023-08-31 09:07:01 +02:00
test_multirepo.py [FIX] runbot_merge: handling of staging cancellation 2024-05-23 07:58:58 +02:00
test_oddities.py [CHG] *: rewrite commands set, rework status management 2024-05-23 07:58:46 +02:00
test_project_toggles.py [ADD] runbot_merge: support staging ready PRs over splits 2024-05-23 07:58:58 +02:00
test_provisioning.py [IMP] runbot_merge, forwardport: minor cleanups 2023-08-10 13:33:16 +02:00
test_staging.py [ADD] runbot_merge: option to disable staging without cron 2024-05-23 07:58:58 +02:00
test_status_overrides.py [CHG] runbot_merge, forwardbot: merge commands parser 2024-05-16 10:37:50 +02:00

Execute this test suite using pytest.

The default mode is to run tests locally using a mock github.com.

See the docstring of remote.py for instructions to run against github "actual"
(including remote-specific options) and the end of this file for a sample.

Shared properties running tests, regardless of the github implementation:

* test should be run from the root of the runbot repository providing the
  name of this module aka ``pytest runbot_merge`` or
  ``python -mpytest runbot_merge``
* a database name to use must be provided using ``--db``, the database should
  not exist beforehand
* the addons path must be specified using ``--addons-path``, both "runbot" and
  the standard addons (odoo/addons) must be provided explicitly

See pytest's documentation for other options, I would recommend ``-rXs``,
``-v`` and ``--showlocals``.

When running "remote" tests as they take a very long time (hours) ``-x``
(aka ``--maxfail=1``) and ``--ff`` (run previously failed first) is also
recommended unless e.g. you run the tests overnight.

``pytest.ini`` sample
---------------------

.. code:: ini

    [github]
    owner = test-org
    token = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

    [role_reviewer]
    name = Dick Bong
    user = loginb
    token = bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb

    [role_self_reviewer]
    name = Fanny Chmelar
    user = loginc
    token = cccccccccccccccccccccccccccccccccccccccc

    [role_other]
    name = Harry Baals
    user = logind
    token = dddddddddddddddddddddddddddddddddddddddd