mirror of
https://github.com/odoo/runbot.git
synced 2025-03-19 09:25:46 +07:00
![]() Normally opening a PR against a disabled branch is like opening a PR against a branch which is not configured at all: the PR id ignored entirely. However if the PR already exists then the state of the branch isn't normally checked when interacting with the branch, and it is possible to trigger its staging, at which point the staging itself will crash: on a project the branches are `active_test=False` so they're all visible in the form, but when repos go search()-ing for the branch they won't find it and will blow up. Solution: only try staging on branches which are active. Fixes odoo/runbot#408. Also do the same for checking stagings. And while at it, fix #409 by wrapping each checking or staging into a try/except and a savepoint. This way if a staging blows up it should move on to the next branch instead of getting stuck. |
||
---|---|---|
.. | ||
conftest.py | ||
README.rst | ||
test_basic.py | ||
test_by_branch.py | ||
test_multirepo.py | ||
test_oddities.py | ||
test_utils.py |
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