Files
public/tests/odoo-base-test.md

5.1 KiB
Raw Blame History

Odoo 19 Base Tests Report

Команда запуска:

odoo --test-enable --stop-after-init -d database_name --update base --test-tags base

Итог

Module base: 23 failures, 26 errors of 979 tests

Классификация ошибок

Исправлено нами

access_restricted — ImportError при загрузке тестов

Файл: myaddons/dob/access_restricted/tests/test_fields_get.py

Причина: Функция name_selection_groups удалена из odoo.addons.base.models.res_users в Odoo 19.

Исправление: Заменена локальной функцией _sel_groups_field_name, которая генерирует имя поля sel_groups_X_Y_Z без импорта из ядра.


⚠️ Ожидаемое поведение (не баг, не трогаем)

test_user_has_group — лишняя группа в all_group_ids

Тесты: TestHasGroup.test_demote_user, TestHasGroup.test_implied_groups

Причина: Модуль access_apps добавляет группу group_allow_apps_only_from_settings с implied_ids = base.group_system. Это расширяет иерархию групп, тест ожидает фиксированное количество групп без учёта сторонних модулей.

Вывод: Поведение корректное, тест base не учитывает кастомные модули.


test_viewsViewModifiers.test_17_attrs_groups_validation

Причина: Та же — access_apps меняет иерархию group_system, что влияет на валидацию групп в представлениях.

Вывод: Ожидаемое поведение при установленном access_apps.


test_ir_modelTestIrModelInherit.test_inherit (3 != 1)

Причина: Тест ожидает ровно 1 запись в ir.model.inherit для тестовой модели, но наши модули (access_restricted, base_user_role, web_debranding, base_tier_validation, access_settings_menu, l10n_ru_doc, l10n_ru_upd_xml) расширяют res.users и res.partner, увеличивая количество записей.

Вывод: Ожидаемое поведение при установленных модулях с _inherit.


🔧 Проблемы окружения (Docker / отсутствие зависимостей)

test_cli — 17 ошибок

Тесты: TestCommand.test_help, test_help_subcommand, test_shell, test_unknown_command, test_upgrade_code_*

Причина: CLI-тесты запускают subprocess с TTY, который недоступен внутри Docker-контейнера без флага -t.


test_acl + test_res_partner_mergeKeyError: 'employee_ids'

Причина: Модуль hr установлен в базе и добавляет поле employee_ids на res.partner. Domain в ACL-правилах ссылается на это поле, тест не ожидает его наличия.

Вывод: Не наша вина, артефакт установленного hr.


test_profiler — 2 ошибки

Тесты: TestPerformance.test_traces_async_memory_optimisation, TestSyncRecorder.test_sync_recorder

Причина: Инфраструктурные тесты профилировщика, чувствительные к окружению выполнения.


test_test_retry — 8 ошибок

Причина: Тесты проверяют механизм retry самого тест-фреймворка. Ожидаемые падения (тесты специально написаны чтобы падать).


test_translate — 9 ошибок

Тесты: TestTranslation.test_110_search_es, TestTranslationWrite.*

Причина: Отсутствуют установленные языки (es, fr) в тестовой базе.


Сводная таблица

Группа тестов Failures Errors Причина Действие
test_acl 0 1 hr модуль / employee_ids Не трогаем
test_cli 2 15 Нет TTY в Docker Не трогаем
test_ir_model 1 0 Наши _inherit расширения Ожидаемо
test_profiler 2 0 Окружение Не трогаем
test_res_partner_merge 0 1 hr модуль Не трогаем
test_test_retry 4 4 Намеренные падения фреймворка Не трогаем
test_translate 9 0 Нет языков в БД Не трогаем
test_user_has_group 2 0 access_apps implied groups Ожидаемо
test_views 1 0 access_apps implied groups Ожидаемо
access_restricted (import) 1 name_selection_groups удалена Исправлено