mirror of
https://github.com/odoo/runbot.git
synced 2025-03-19 09:25:46 +07:00
![]() The page of PRs in "error" is currently kinda broken: it does not show any feedback aside from the PR being in error which is not very useful. The intent was always to show an explanation, but when adding the page I just deref'd `staging_id` which always fails though in two different ways: * when the PR can not be staged at all (because of a conflict) there is no staging at all with a reason to show, so there should be a fallback that the PR could not even be staged * `staging_id` is a related field which deref's to the staging_ids of the first *active* batch, except when a staging completes (successfully or not) both staging and batch are disabled. Plus the first batch will be the one for the first staging so if the PR is retried and fails again the wrong reason may be displayed. So update the section to show what we want: the reason of the staging of the *last* batch attached to the PR. NOTE: there's one failure mode remaining, namely if a staging fails then on retry the PR conflicts with the new state of the repository (so it can't be staged at all), the "reason" will remain that of the staging. This could be mitigated by attaching a "nonsense" batch on failure to stage (similar to the forwardport stuff), that batch would have no staging, therefore no staging reason, therefore fallback. Closes #525 |
||
---|---|---|
.. | ||
conftest.py | ||
README.rst | ||
test_basic.py | ||
test_by_branch.py | ||
test_disabled_branch.py | ||
test_multirepo.py | ||
test_oddities.py | ||
test_status_overrides.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