-
-
Notifications
You must be signed in to change notification settings - Fork 64
Description
There are often false negatives when using test-requirements.txt with a module dependency pending merge.
One example of this is:
Originally, the PR depended on both:
- [18.0][MIG] fieldservice_agreement: Migration to 18.0 field-service#1368
- [18.0][MIG] agreement_sale: Migration to 18.0 agreement#51
This resulted in a build failing with the following error:
Run oca_run_tests
+ oca_wait_for_postgres
postgres:5432 - accepting connections
++ oca_list_addons_to_test
+ '[' -n '' ']'
++ manifestoo --select-addons-dir . --select-exclude '' list --separator=,
+ ADDONS=base_territory,fieldservice,fieldservice_account,fieldservice_activity,fieldservice_availability,fieldservice_calendar,fieldservice_crm,fieldservice_equipment_stock,fieldservice_kanban_info,fieldservice_project,fieldservice_recurring,fieldservice_route,fieldservice_sale,fieldservice_sale_recurring,fieldservice_sale_recurring_agreement,fieldservice_sale_stock,fieldservice_size,fieldservice_stage_server_action,fieldservice_stock,fieldservice_vehicle
+ echo base_territory,fieldservice,fieldservice_account,fieldservice_activity,fieldservice_availability,fieldservice_calendar,fieldservice_crm,fieldservice_equipment_stock,fieldservice_kanban_info,fieldservice_project,fieldservice_recurring,fieldservice_route,fieldservice_sale,fieldservice_sale_recurring,fieldservice_sale_recurring_agreement,fieldservice_sale_stock,fieldservice_size,fieldservice_stage_server_action,fieldservice_stock,fieldservice_vehicle
+ ADDONS=base_territory,fieldservice,fieldservice_account,fieldservice_activity,fieldservice_availability,fieldservice_calendar,fieldservice_crm,fieldservice_equipment_stock,fieldservice_kanban_info,fieldservice_project,fieldservice_recurring,fieldservice_route,fieldservice_sale,fieldservice_sale_recurring,fieldservice_sale_recurring_agreement,fieldservice_sale_stock,fieldservice_size,fieldservice_stage_server_action,fieldservice_stock,fieldservice_vehicle
+ '[' -z base_territory,fieldservice,fieldservice_account,fieldservice_activity,fieldservice_availability,fieldservice_calendar,fieldservice_crm,fieldservice_equipment_stock,fieldservice_kanban_info,fieldservice_project,fieldservice_recurring,fieldservice_route,fieldservice_sale,fieldservice_sale_recurring,fieldservice_sale_recurring_agreement,fieldservice_sale_stock,fieldservice_size,fieldservice_stage_server_action,fieldservice_stock,fieldservice_vehicle ']'
+ oca_checklog_odoo
++ which odoo
+ unbuffer coverage run --include './*' --branch /opt/odoo-venv/bin/odoo -d odoo -i base_territory,fieldservice,fieldservice_account,fieldservice_activity,fieldservice_availability,fieldservice_calendar,fieldservice_crm,fieldservice_equipment_stock,fieldservice_kanban_info,fieldservice_project,fieldservice_recurring,fieldservice_route,fieldservice_sale,fieldservice_sale_recurring,fieldservice_sale_recurring_agreement,fieldservice_sale_stock,fieldservice_size,fieldservice_stage_server_action,fieldservice_stock,fieldservice_vehicle --test-enable --stop-after-init
Running as user 'root' is a security risk.
2025-08-13 18:52:23,645 455 INFO ? odoo: Odoo version 18.0
2025-08-13 18:52:23,646 455 INFO ? odoo: Using configuration file at /etc/odoo.cfg
2025-08-13 18:52:23,646 455 INFO ? odoo: addons paths: ['/opt/odoo/odoo/addons', '/opt/odoo-venv/lib/python3.10/site-packages/odoo/addons', '/github/home/.local/share/Odoo/addons/18.0', '/opt/odoo/addons', '/__w/field-service/field-service']
2025-08-13 18:52:23,646 455 INFO ? odoo: database: odoo@postgres:default
2025-08-13 18:52:23,794 455 INFO ? odoo.addons.base.models.ir_actions_report: Will use the Wkhtmltopdf binary at /usr/local/bin/wkhtmltopdf
2025-08-13 18:52:23,802 455 INFO ? odoo.addons.base.models.ir_actions_report: Will use the Wkhtmltoimage binary at /usr/local/bin/wkhtmltoimage
2025-08-13 18:52:23,942 455 INFO ? odoo.service.server: HTTP service (werkzeug) running on 18e3f8bd2e55:8069
2025-08-13 18:52:23,970 455 INFO odoo odoo.tests.common: Importing test framework
2025-08-13 18:52:23,988 455 INFO odoo odoo.modules.loading: loading 1 modules...
2025-08-13 18:52:23,995 455 INFO odoo odoo.modules.loading: 1 modules loaded in 0.01s, 0 queries (+0 extra)
2025-08-13 18:52:24,019 455 INFO odoo odoo.modules.loading: updating modules list
2025-08-13 18:52:24,022 455 INFO odoo odoo.addons.base.models.ir_module: ALLOW access to module.update_list on [] to user __system__ #1 via n/a
2025-08-13 18:52:25,029 455 INFO odoo odoo.addons.base.models.ir_module: ALLOW access to module.button_install on ['Field Service - Accounting', 'Field Service Activity', 'Fieldservice Availability', 'Field Service - Calendar', 'Field Service - CRM', 'Field Service - Stock Equipment', 'Field Service - Kanban Info', 'Field Service - Project', 'Field Service Recurring Work Orders', 'Field Service Route', 'Field Service - Sales', 'Field Service - Sales - Recurring', 'Field Service Recurring Agreement', 'Field Service - Sale Stock', 'Field Service Sizes', 'Field Service - Stage Server Action', 'Field Service - Stock', 'Field Service Vehicles'] to user __system__ #1 via n/a
2025-08-13 18:52:25,127 455 INFO odoo odoo.modules.loading: loading 76 modules...
2025-08-13 18:52:25,128 455 INFO odoo odoo.modules.loading: Loading module base_territory (2/76)
2025-08-13 18:52:25,174 455 INFO odoo odoo.modules.registry: module base_territory: creating or updating database tables
2025-08-13 18:52:25,256 455 INFO odoo odoo.modules.loading: loading base_territory/security/ir.model.access.csv
2025-08-13 18:52:25,273 455 INFO odoo odoo.modules.loading: loading base_territory/views/res_territory.xml
2025-08-13 18:52:25,294 455 INFO odoo odoo.modules.loading: loading base_territory/views/res_branch.xml
2025-08-13 18:52:25,307 455 INFO odoo odoo.modules.loading: loading base_territory/views/res_district.xml
2025-08-13 18:52:25,318 455 INFO odoo odoo.modules.loading: loading base_territory/views/res_region.xml
2025-08-13 18:52:25,330 455 INFO odoo odoo.modules.loading: loading base_territory/views/res_country.xml
2025-08-13 18:52:25,343 455 INFO odoo odoo.modules.loading: loading base_territory/views/menu.xml
2025-08-13 18:52:25,356 455 INFO odoo odoo.modules.loading: Module base_territory: loading demo
2025-08-13 18:52:25,357 455 INFO odoo odoo.modules.loading: loading base_territory/demo/base_territory_demo.xml
2025-08-13 18:52:25,420 455 ERROR odoo odoo.sql_db: bad query: b'INSERT INTO "res_partner" ("active", "color", "create_date", "create_uid", "email", "is_company", "lang", "name", "type", "tz", "user_id", "write_date", "write_uid") VALUES (true, 0, \'2025-08-13 18:52:25.415396\', 1, \'test_partner@example.com\', false, \'en_US\', \'Test Partner\', \'contact\', NULL, NULL, \'2025-08-13 18:52:25.415396\', 1) RETURNING "id"'
ERROR: null value in column "autopost_bills" violates not-null constraint
DETAIL: Failing row contains (58, null, 2025-08-13 18:52:25.415396, Test Partner, null, null, null, null, null, null, 0, null, 1, 1, null, null, en_US, null, null, null, null, null, contact, null, null, null, null, test_partner@example.com, null, null, null, null, null, null, null, null, t, null, f, null, 2025-08-13 18:52:25.415396, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null).
Full job logs: job-logs.txt
Note
The error is raised when loading base_territory demo data, a module that is not affected by the PR
Later on, the first of the depended PRs was merged, and so it was removed from the test-requirements.txt.
This resulted back in a green build, with no additional changes in the actual code.
Full job logs (after removal of 1st dependency): job-logs-2.txt
These false negatives can lead to wasted developers time, as it sets them to find a bugs in their code that aren't real, and that will be resolved as soon as the pending test requirements are dropped.