Name: [FIX] ai17: Vietnamese catalogues, the locale regressions they caused, and the defects that surfaced - Post install tests: from viin_maintenance to viin_stock_backdate

State: Succeed finished in 40m

PR State: merged

PR Author: David Tran

PR Author Email:

PR: #103

Committer: David Tran

Committer Email: davidtran.hp@gmail.com

Commit: 3d458973527b9c6d656908ddcc90438e1c00173a

Description:

                                [FIX] viin_ai_ops: an unidentified proposal cannot fall through to a permissive rule

The model axis added earlier in this run skipped a model-scoped policy when the
proposal recorded no impacted_model, and its docstring called that fail-closed.
It was not. _match_proposal is first-match-wins over sequence, so skipping hands
the proposal to the NEXT policy, which may be more permissive. With a block on
account.move at sequence 10 and an unscoped auto_execute for low risk at 20, a
proposal with no impacted_model was auto-executed - exactly what the
administrator had blocked. That is the shape the feature's own motivating
example requires, not a contrived config.

A model-scoped policy that agrees on every other axis now STOPS the scan, and
routing lands on the subsystem's documented default-safe pending. A policy whose
own risk or scope filter already excludes the proposal does not stop it - it
could not have governed the proposal under any model, so passing it by loses
nothing. The result is monotone in oversight in both directions: where that
policy would have governed, pending never auto-executes in its place; where it
would not, pending is never more permissive than what the scan would have found.

The old test created ONE policy, so it never reached the fall-through its own
docstring described. The new one puts a model-scoped block ahead of an unscoped
permissive rule and was watched to fail against the old code.

Rejected alternatives, for the record: making the unknown model match every
model-scoped policy would make the unknown case MORE permissive against an
auto_execute rule; terminating at the model-scoped policy's own action would
write a block record naming a model the proposal may never have touched, which
is a false statement in a component whose purpose is auditable governance.

model_id also loses ondelete=cascade. The same wave argued impacted_model must
be a Char so a proposal survives uninstalling the application that provides its
model - then let the POLICY be deleted on that event, and Odoo drops ir.model
rows transiently during an upgrade too. An administrator's block rules were
being destroyed with no audit trace, and reinstalling never brings them back. It
is now set null plus a stored model_name mirror maintained in create/write,
because PostgreSQL performs the SET NULL directly and never calls the ORM. The
views show the technical name so an orphaned rule reads as orphaned rather than
blank. A Vietnamese tooltip that promised the old cascade behaviour is corrected.

Three more from the same review:

The skill de-branding guard matched vendor names as WORDS, so the lowercase path
reference/hubspot-scoring.md was invisible even to it - and three such companion
files were shipping as live markdown links to documents that do not exist,
injected verbatim into the system prompt. Fixed in the converter and
regenerated; the guard now fails the build on any dangling companion reference
anywhere in the catalogue, verified to flag exactly those three and to leave
genuine customer-side vendor mentions alone.

Two discuss-bot assertions had been loosened to "some new message appeared",
which a generic error notice satisfies equally. The notice carries no author and
no distinguishing subtype, so there is no language-independent discriminator;
they use with_context(lang='en_US') like their siblings, and were proven still
able to fail by replacing the production notice with a generic one.

Twelve banned dash characters remained repo-wide, including one this run had
propagated from a source file into two new catalogue entries. All fixed;
upstream Apache-2.0 material under viin_ai_skill/research/ is left verbatim.

Three test docstrings quoted the removed expression and cited a line that no
longer holds it. They now describe what the matcher does.
                                

Branch: 17.0

Instance ID: 0

Age:

Up-time:

Odoo 17 Test Suite Using Docker

Post install tests: from viin_maintenance to viin_stock_backdate

  • install_module account,account_add_gln,account_audit_trail,account_check_printing,account_debit_note,account_debit_note_sequence,account_edi,account_edi_proxy_client,account_edi_ubl_cii,account_edi_ubl_cii_tax_extension,account_fleet,account_lock,account_payment,account_payment_term,account_peppol,account_peppol_selfbilling,account_qr_code_emv,account_qr_code_sepa,account_tax_python,account_test,account_update_tax_tags,analytic,attachment_indexation,auth_oauth,auth_password_policy,auth_password_policy_portal,auth_password_policy_signup,auth_signup,auth_totp,auth_totp_mail,auth_totp_mail_enforce,auth_totp_portal,barcodes,barcodes_gs1_nomenclature,base,base_address_extended,base_automation,base_geolocalize,base_iban,base_import,base_import_module,base_install_request,base_setup,base_sparse_field,base_vat,board,bus,calendar,calendar_sms,contacts,crm,crm_iap_enrich,crm_iap_mine,crm_livechat,crm_mail_plugin,crm_sms,data_recycle,delivery,delivery_mondialrelay,delivery_stock_picking_batch,digest,event,event_booth,event_booth_sale,event_crm,event_crm_sale,event_sale,event_sms,fleet,gamification,gamification_sale_crm,google_account,google_calendar,google_gmail,google_recaptcha,hr,hr_attendance,hr_contract,hr_expense,hr_fleet,hr_gamification,hr_holidays,hr_holidays_attendance,hr_homeworking,hr_hourly_cost,hr_livechat,hr_maintenance,hr_org_chart,hr_presence,hr_recruitment,hr_recruitment_skills,hr_recruitment_sms,hr_recruitment_survey,hr_skills,hr_skills_slides,hr_skills_survey,hr_timesheet,hr_timesheet_attendance,hr_work_entry,hr_work_entry_contract,hr_work_entry_holidays,http_routing,iap,iap_crm,iap_mail,im_livechat,im_livechat_mail_bot,l10n_vn_edi_summary,l10n_vn_edi_viettel,l10n_vn_viin,l10n_vn_viin_account_asset,l10n_vn_viin_account_auto_transfer,l10n_vn_viin_account_reports,l10n_vn_viin_accounting_meinvoice,l10n_vn_viin_accounting_meinvoice_pos,l10n_vn_viin_accounting_sinvoice,l10n_vn_viin_accounting_sinvoice_pos,l10n_vn_viin_accounting_vninvoice,l10n_vn_viin_accounting_vninvoice_summary,l10n_vn_viin_ai_account,l10n_vn_viin_base_ward,l10n_vn_viin_edi,l10n_vn_viin_edi_patch1,l10n_vn_viin_edi_pos,l10n_vn_viin_einvoice_sale,l10n_vn_viin_foreign_trade,l10n_vn_viin_foreign_trade_account_reports,l10n_vn_viin_freight_project,l10n_vn_viin_hr_account,l10n_vn_viin_hr_payroll,l10n_vn_viin_hr_payroll_account,l10n_vn_viin_hr_payroll_account_overtime,l10n_vn_viin_hr_payroll_administrative_region,l10n_vn_viin_hr_payroll_meal,l10n_vn_viin_hr_payroll_meal_account,l10n_vn_viin_hr_payroll_overtime,l10n_vn_viin_loan_management,l10n_vn_viin_mrp_subcontracting_account,l10n_vn_viin_mrp_subcontracting_settlement,l10n_vn_viin_picking_operation,l10n_vn_viin_pos,l10n_vn_viin_stock_reports,l10n_vn_viin_stock_reports_multi_warehouse_access_control,l10n_vn_viin_update_address,l10n_vn_viin_vat_counterpart,link_tracker,loyalty,lunch,mail,mail_bot,mail_bot_hr,mail_group,mail_plugin,maintenance,mass_mailing,mass_mailing_crm,mass_mailing_crm_sms,mass_mailing_event,mass_mailing_event_sms,mass_mailing_event_track,mass_mailing_event_track_sms,mass_mailing_sale,mass_mailing_sale_sms,mass_mailing_slides,mass_mailing_sms,mass_mailing_themes,membership,microsoft_account,microsoft_calendar,microsoft_outlook,mrp,mrp_account,mrp_landed_costs,mrp_product_expiry,mrp_repair,mrp_subcontracting,mrp_subcontracting_account,mrp_subcontracting_dropshipping,mrp_subcontracting_purchase,mrp_subcontracting_repair,mrp_subonctracting_landed_costs,onboarding,partner_autocomplete,payment,payment_adyen,payment_alipay,payment_aps,payment_asiapay,payment_authorize,payment_bidv_viin,payment_buckaroo,payment_custom,payment_demo,payment_flutterwave,payment_mercado_pago,payment_mollie,payment_momo_viin,payment_nganluong,payment_ogone,payment_paypal,payment_payulatam,payment_payumoney,payment_polar,payment_razorpay,payment_razorpay_oauth,payment_sips,payment_stripe,payment_vnpay,payment_worldline,payment_xendit,payment_zalopay,phone_validation,point_of_sale,portal,portal_rating,pos_adyen,pos_discount,pos_epson_printer,pos_hr,pos_hr_restaurant,pos_loyalty,pos_mercado_pago,pos_mercury,pos_mrp,pos_online_payment,pos_online_payment_self_order,pos_paytm,pos_razorpay,pos_restaurant,pos_restaurant_adyen,pos_restaurant_loyalty,pos_restaurant_stripe,pos_sale,pos_sale_loyalty,pos_sale_margin,pos_sale_product_configurator,pos_self_order,pos_self_order_adyen,pos_self_order_epson_printer,pos_self_order_sale,pos_self_order_stripe,pos_stripe,pos_viva_wallet,privacy_lookup,product,product_email_template,product_expiry,product_images,product_margin,product_matrix,project,project_account,project_hr_expense,project_mail_plugin,project_mrp,project_purchase,project_sale_expense,project_sms,project_timesheet_holidays,project_todo,purchase,purchase_mrp,purchase_product_matrix,purchase_requisition,purchase_requisition_sale,purchase_requisition_stock,purchase_stock,rating,repair,resource,sale,sale_async_emails,sale_crm,sale_expense,sale_expense_margin,sale_loyalty,sale_loyalty_delivery,sale_management,sale_margin,sale_mrp,sale_mrp_margin,sale_pdf_quote_builder,sale_product_configurator,sale_product_matrix,sale_project,sale_project_stock,sale_purchase,sale_purchase_stock,sale_service,sale_sms,sale_stock,sale_stock_margin,sale_timesheet,sale_timesheet_margin,sales_team,sms,sms_twilio,snailmail,snailmail_account,social_media,spreadsheet,spreadsheet_account,spreadsheet_dashboard,spreadsheet_dashboard_account,spreadsheet_dashboard_event_sale,spreadsheet_dashboard_hr_expense,spreadsheet_dashboard_hr_timesheet,spreadsheet_dashboard_im_livechat,spreadsheet_dashboard_pos_hr,spreadsheet_dashboard_purchase,spreadsheet_dashboard_purchase_stock,spreadsheet_dashboard_sale,spreadsheet_dashboard_sale_timesheet,spreadsheet_dashboard_stock_account,spreadsheet_dashboard_website_sale,spreadsheet_dashboard_website_sale_slides,stock,stock_account,stock_delivery,stock_dropshipping,stock_landed_costs,stock_landed_costs_company,stock_picking_batch,stock_sms,survey,test_access_rights,test_action_bindings,test_apikeys,test_assetsbundle,test_auth_custom,test_base_automation,test_base_import,test_convert,test_converter,test_crm_full,test_data_module,test_data_module_install,test_discuss_full,test_event_full,test_exceptions,test_html_field_history,test_http,test_impex,test_inherit,test_inherit_depends,test_inherits,test_inherits_depends,test_limits,test_lint,test_mail,test_mail_full,test_mail_sms,test_mail_tracking_value_multilang,test_main_flows,test_mass_mailing,test_mimetypes,test_new_api,test_performance,test_populate,test_read_group,test_resource,test_rpc,test_sale_product_configurators,test_search_panel,test_spreadsheet,test_testing_utilities,test_to_signup_email_verification,test_translation_import,test_uninstall,test_viin_ai,test_viin_approval,test_viin_mail_route,test_viin_web_cohort,test_website,test_website_modules,test_website_slides_full,test_xlsx_export,theme_default,to_account_accountant,to_account_asset,to_account_asset_purchase,to_account_budget,to_account_budget_hr_timesheet,to_account_counterpart,to_account_counterpart_account_update_tax_tags,to_account_payment,to_account_reports,to_account_reports_report_off,to_accounting_bi,to_accounting_entry_report_flag,to_approvals,to_attendance_device,to_backdate,to_backend_theme,to_bank_currency_rate,to_bank_currency_rate_purchase_stock,to_base,to_common_uom,to_config_management,to_currency_conversion_diff,to_employee_changes_tracking,to_employee_documents,to_equipment_maintenance_schedule,to_equipment_woking_frequency,to_erponline_utility,to_event_project,to_event_timesheet,to_fee_definition,to_fee_definition_sale,to_fleet_driver,to_geo_routes,to_geo_routes_account,to_geo_routes_google,to_geo_routes_here,to_geo_routes_mapbox,to_geo_routes_searoutes,to_geo_routes_vietmap,to_git,to_git_odoo_version,to_git_project,to_hide_ent_modules,to_hide_ent_modules_payment,to_hide_ent_modules_website_theme,to_hr_barcode_in_emp_name,to_hr_employee_advance,to_hr_employee_grade,to_hr_employee_grade_patch1,to_hr_employee_relative,to_hr_expense,to_hr_expense_employee_advance,to_hr_expense_payroll,to_hr_meal,to_hr_payroll,to_hr_payroll_account,to_hr_payroll_attendance,to_hr_payroll_meal,to_hr_project_timesheet_timeoff_payroll,to_hr_timesheet_approval,to_hr_timesheet_payroll,to_hr_training,to_inter_company_base,to_inter_company_invoice,to_inter_company_sale_purchase,to_inter_company_sale_purchase_stock,to_invoice_line_summary,to_invoice_tax_details,to_legal_invoice_number,to_loan_management,to_mail_template_multilang_fix,to_maintenance_approval,to_maintenance_by_working_hours,to_maintenance_notification,to_maintenance_request_simple_mediate,to_mrp_account_standard_consumption,to_mrp_backdate,to_mrp_bom_component_percentage,to_mrp_bom_stock_value,to_mrp_maintenance,to_mrp_mps,to_mrp_plm,to_mrp_workorder,to_multi_warehouse_access_control,to_multi_warehouse_access_control_mrp,to_multi_warehouse_access_control_purchase,to_multi_warehouse_access_control_sale,to_multi_warehouse_access_control_sms,to_odoo_module,to_odoo_module_loc,to_odoo_module_sale,to_odoo_module_sale_project,to_odoo_module_sale_template,to_odoo_version,to_okr,to_okr_project,to_partner_dob,to_partner_dob_send_email,to_partner_equity_range,to_partner_multilang,to_partner_multilang_partner_autocomplete,to_partner_nationality,to_partner_track_change,to_payment_transaction_protection,to_paypal_unsupported_currencies,to_payroll_payment_acb_templates,to_pos_analytics,to_pos_delivery,to_pos_note,to_pos_order_to_sales_order,to_procurement_approval,to_product_code_sequence,to_product_collection,to_product_collection_pos,to_product_collection_sale,to_product_dimensions,to_product_function,to_product_function_pos,to_product_function_sale,to_product_license,to_product_license_sale,to_product_maintenance_schedule,to_product_milestone,to_product_odoo_version,to_product_return_reason,to_product_return_reason_stock,to_product_standard_price_access,to_product_standard_price_access_account,to_product_standard_price_access_purchase,to_purchase_backdate,to_purchase_landed_cost,to_purchase_line_numbering,to_purchase_order_advance,to_purchase_receipt,to_quality,to_quality_mrp,to_quality_stock,to_refund_account,to_registration_email_blacklist,to_repair_request_from_maintenance,to_repair_with_maintenance_schedule,to_safe_confirm_button,to_sale_backdate,to_sale_desc_short_link,to_sale_line_numbering,to_sale_order_advance,to_sale_price_lock,to_sales_stock_schedule,to_sales_target,to_sales_target_pos,to_sales_target_sale,to_sales_team_advanced,to_sales_team_advanced_crm,to_sales_team_advanced_sale,to_signup_email_verification,to_sshkey,to_stock_account_moves_link,to_stock_age_report,to_stock_asset,to_stock_asset_equipment,to_stock_barcode,to_stock_block_quantity,to_stock_equipment,to_stock_equipment_bom_kit,to_stock_equipment_hierarchy,to_token_expiration,to_token_expiration_test,to_unique_product_code,to_upload_file,to_vat_counterpart,to_vendor_price_lock,to_wallet,to_warranty_management,to_warranty_purchase,to_warranty_purchase_stock,to_warranty_sale,to_warranty_sale_stock,to_warranty_stock,to_web_thousand_sep,to_website_apps_store,to_website_apps_store_loc,to_website_base,to_website_docs,to_website_docs_odoo,to_website_docs_odoo_data,to_website_odoo_version,to_website_slides_event,transifex,uom,utm,viin_account,viin_account_auto_transfer,viin_account_bank_statement_import,viin_account_bank_statement_import_rje,viin_account_budget_project,viin_account_counterpart_reconciliation,viin_account_followup,viin_account_followup_sale,viin_account_onbehalf_payment,viin_account_onbehalf_payment_currency_conversion_diff,viin_account_reconciliation,viin_account_recurring,viin_administrative_region,viin_affiliate,viin_affiliate_crm,viin_affiliate_loyalty,viin_affiliate_loyalty_pos,viin_affiliate_loyalty_sale,viin_affiliate_marketplace_sale,viin_affiliate_multi_level,viin_affiliate_multi_level_pos,viin_affiliate_multi_level_sale,viin_affiliate_pos,viin_affiliate_pos_discount,viin_affiliate_pos_sale,viin_affiliate_sale,viin_affiliate_sale_crm,viin_affiliate_website,viin_affiliate_website_crm_livechat,viin_affiliate_website_project,viin_affilitate_purchase,viin_ai,viin_ai_account,viin_ai_agent,viin_ai_approval,viin_ai_approval_account,viin_ai_approval_purchase,viin_ai_approval_sale,viin_ai_brain,viin_ai_chat,viin_ai_crm,viin_ai_documents,viin_ai_editor,viin_ai_expense,viin_ai_helpdesk,viin_ai_hr,viin_ai_livechat,viin_ai_marketing,viin_ai_memory,viin_ai_memory_brain,viin_ai_mrp,viin_ai_ops,viin_ai_ops_brain,viin_ai_project,viin_ai_pulse,viin_ai_pulse_memory,viin_ai_purchase,viin_ai_rag,viin_ai_sale,viin_ai_sale_crm,viin_ai_search,viin_ai_skill,viin_ai_skill_memory,viin_ai_stock,viin_ai_website,viin_ai_workflow,viin_ai_workflow_automation,viin_amazon,viin_amazon_ses,viin_api_request_logger,viin_appointment,viin_appointment_crm,viin_appointment_sale,viin_appointment_sale_crm,viin_appointment_website,viin_appointment_website_hr,viin_appointment_website_patch1,viin_approval,viin_approval_account,viin_approval_analytic,viin_approval_flexible_flow,viin_approval_hr_contract,viin_approval_marketplace,viin_approval_mrp,viin_approval_project,viin_approval_purchase,viin_approval_purchase_stock,viin_approval_purpose_routing,viin_approval_sale,viin_approval_sale_project,viin_approval_stock,viin_auth_password_policy,viin_auth_password_policy_portal,viin_auth_password_policy_signup,viin_auto_currency_rate,viin_auto_currency_rate_acb,viin_auto_currency_rate_bidv,viin_auto_currency_rate_vcb,viin_auto_currency_rate_xe,viin_bank_connector,viin_base_addendum,viin_base_district,viin_base_import_tracking,viin_base_state_group,viin_base_ward,viin_bidv_connector,viin_brain,viin_brain_account,viin_brain_account_reports,viin_brain_crm,viin_brain_helpdesk,viin_brain_hr,viin_brain_hr_recruitment,viin_brain_project,viin_brain_purchase,viin_brain_sale,viin_brain_stock,viin_brand,viin_brand_account,viin_brand_auth_oauth,viin_brand_auth_totp,viin_brand_auth_totp_mail_enforce,viin_brand_auth_totp_portal,viin_brand_base_import,viin_brand_base_setup,viin_brand_calendar,viin_brand_common,viin_brand_contacts,viin_brand_crm,viin_brand_digest,viin_brand_fleet,viin_brand_hr,viin_brand_hr_expense,viin_brand_hr_recruitment,viin_brand_hr_skills,viin_brand_im_livechat,viin_brand_im_livechat_mail_bot,viin_brand_l10n_vn,viin_brand_mail,viin_brand_mail_bot,viin_brand_mail_plugin,viin_brand_mass_mailing,viin_brand_mass_mailing_crm,viin_brand_mass_mailing_sale,viin_brand_mass_mailing_sms,viin_brand_mass_mailing_themes,viin_brand_membership,viin_brand_mrp,viin_brand_onboarding,viin_brand_payment,viin_brand_payment_paypal,viin_brand_portal,viin_brand_pos,viin_brand_pos_mercury,viin_brand_product,viin_brand_purchase,viin_brand_sale,viin_brand_sale_management,viin_brand_sale_pdf_quote_builder,viin_brand_snailmail,viin_brand_social_media,viin_brand_stock,viin_brand_web,viin_brand_web_editor,viin_brand_web_unsplash,viin_brand_website,viin_brand_website_event,viin_brand_website_event_exhibitor,viin_brand_website_forum,viin_brand_website_jitsi,viin_brand_website_links,viin_brand_website_profile,viin_brand_website_sale,viin_brand_website_slides,viin_built_in_help,viin_business_trip,viin_business_trip_approval,viin_business_trip_fleet,viin_business_trip_hr_expense,viin_check_company_discrepancy,viin_coach_approvals,viin_contacts_district,viin_contacts_ethnicity_religion,viin_contacts_map,viin_contacts_ward,viin_country_target_market,viin_crm,viin_crm_business_nature,viin_crm_business_nature_isic,viin_crm_business_nature_patch1,viin_crm_customer_recognition,viin_crm_dob,viin_crm_sankey,viin_customizer,viin_customizer_web_responsive,viin_discuss_channel_privacy,viin_document,viin_document_account,viin_document_freight,viin_document_freight_air,viin_document_freight_consol,viin_document_hr,viin_document_hr_contract,viin_document_hr_payroll,viin_document_hr_recruitment,viin_document_mrp,viin_document_parsing,viin_document_project,viin_document_purchase,viin_document_sale,viin_document_stock,viin_duns,viin_employee_map,viin_equipment_warranty_partner_infor,viin_estimate,viin_estimate_approval,viin_estimate_budget,viin_estimate_hr,viin_estimate_project,viin_estimate_purchase,viin_estimate_sale,viin_event_checkin_website,viin_event_partner_barcodes,viin_features_activate_account,viin_features_activate_approvals,viin_features_activate_contacts,viin_features_activate_freight,viin_features_activate_hr,viin_features_activate_hr_attendance,viin_features_activate_hr_expense,viin_features_activate_hr_payroll,viin_features_activate_hr_recruitment,viin_features_activate_inter_company,viin_features_activate_mrp,viin_features_activate_pos,viin_features_activate_product,viin_features_activate_project,viin_features_activate_purchase,viin_features_activate_sale,viin_features_activate_stock,viin_features_activate_survey,viin_features_activate_website,viin_fleet,viin_fleet_account,viin_fleet_booking,viin_fleet_booking_account,viin_fleet_booking_approval,viin_fleet_booking_cargo,viin_fleet_booking_map,viin_fleet_booking_passenger,viin_fleet_insurance,viin_fleet_loading_capacity,viin_fleet_planning,viin_fleet_planning_account,viin_fleet_planning_hr_expense,viin_fleet_planning_map,viin_fleet_purchase,viin_fleet_sale,viin_fleet_sale_cargo,viin_fleet_sale_management,viin_fleet_sale_passenger,viin_fleet_stock,viin_foreign_trade,viin_foreign_trade_currency_rate,viin_foreign_trade_export,viin_foreign_trade_import,viin_foreign_trade_import_currency_rate,viin_freight_air,viin_freight_air_consol,viin_freight_complete_suite,viin_freight_consol,viin_freight_document_parsing,viin_freight_gantt,viin_freight_management,viin_freight_mixed_container_patch1,viin_freight_project,viin_freight_road,viin_freight_sale,viin_freight_sale_onbehalf,viin_freight_sale_purchase,viin_geo_route_map,viin_geography_info,viin_geography_info_contact,viin_geography_info_world_bank,viin_google_drive,viin_google_translate_api,viin_helpdesk,viin_helpdesk_crm,viin_helpdesk_hr,viin_helpdesk_livechat,viin_helpdesk_odoo_module,viin_helpdesk_odoo_version,viin_helpdesk_project,viin_helpdesk_sale,viin_helpdesk_severity,viin_helpdesk_timesheet,viin_helpdesk_timesheet_timer,viin_hide_detailed_tax_in_pos_receipt,viin_hr,viin_hr_account,viin_hr_appraisal,viin_hr_attendance_validation,viin_hr_contract,viin_hr_contract_skill,viin_hr_contract_suspension,viin_hr_contract_suspension_payroll,viin_hr_contract_suspension_seniority,viin_hr_employee_birthday,viin_hr_employee_relative_birthdate,viin_hr_ethnicity_religion,viin_hr_holidays,viin_hr_maintenance,viin_hr_management_tiers,viin_hr_multi_position,viin_hr_overtime,viin_hr_overtime_approval,viin_hr_overtime_approval_compensatory_time_off,viin_hr_overtime_approval_payroll,viin_hr_overtime_attendance,viin_hr_overtime_compensatory_time_off,viin_hr_overtime_payroll,viin_hr_overtime_payroll_compensatory_time_off,viin_hr_overtime_timesheet,viin_hr_overtime_timesheet_approval,viin_hr_overtime_timesheet_attendance,viin_hr_payroll_administrative_region,viin_hr_payroll_timesheet_wfh,viin_hr_project,viin_hr_project_timesheet_account,viin_hr_rank,viin_hr_recognition_discipline,viin_hr_recognition_discipline_approval,viin_hr_recruitment,viin_hr_recruitment_approval,viin_hr_recruitment_sankey,viin_hr_recruitment_skills_resume,viin_hr_retirement_age,viin_hr_role,viin_hr_role_patch1,viin_hr_seniority,viin_hr_skill_framework,viin_hr_skill_framework_recruitment,viin_hr_skills_slides,viin_hr_timesheet_timer,viin_hr_work_entry,viin_hr_work_entry_contract,viin_hr_work_entry_contract_attendance,viin_hr_work_entry_contract_attendance_holiday,viin_hr_work_entry_contract_suspension,viin_hr_work_entry_holidays,viin_inventory_adjustment_with_cost_price,viin_lang_detection,viin_link_tracker_qr_code,viin_loan_import,viin_loan_management_bank_currency_rate,viin_logistics,viin_logistics_account,viin_logistics_cargo_template,viin_logistics_package_type,viin_logistics_route,viin_logistics_sale,viin_logistics_sales_team,viin_loyalty,viin_loyalty_pos,viin_loyalty_pos_sale,viin_loyalty_sale,viin_mail_mention_with_avatar,viin_mail_route,viin_mail_route_hr,viin_mail_show_recipient,viin_mail_thread_account,viin_mail_thread_product,viin_mail_thread_purchase,viin_mail_thread_stock,viin_mail_thread_stock_account,viin_mail_thread_uom,viin_mail_tracking,viin_maintenance,viin_maintenance_preventive_mode,viin_marketplace,viin_marketplace_event_sale,viin_marketplace_loyalty,viin_marketplace_rating,viin_marketplace_sale,viin_marketplace_sale_currency_conversion_diff,viin_marketplace_sale_loyalty,viin_marketplace_sale_product_configurator,viin_marketplace_sale_purchase,viin_marketplace_sale_stock,viin_marketplace_snailmail,viin_marketplace_stock,viin_marketplace_website_sale,viin_marketplace_website_sale_stock,viin_meeting_room,viin_message_edit_lock,viin_mrp,viin_mrp_account,viin_mrp_filter,viin_mrp_landed_costs,viin_mrp_plm_approval,viin_mrp_plm_subcontracting_purchase,viin_mrp_plm_test_full,viin_mrp_progress,viin_mrp_standard_consumption,viin_mrp_subcontracting_link,viin_mrp_subcontracting_loss_report,viin_mrp_subcontracting_report,viin_mrp_subcontracting_request,viin_mrp_subcontracting_request_approval,viin_mrp_subcontracting_request_plm,viin_mrp_subcontracting_request_requisition,viin_multi_warehouse_access_control_purchase_requisition,viin_partner_approval,viin_partner_approval_marketplace,viin_partner_approval_marketplace_website,viin_partner_approval_website,viin_partner_budget_code,viin_partner_business_nature,viin_partner_business_nature_patch1,viin_partner_calendar,viin_partner_country_recognition,viin_partner_filter,viin_partner_gender,viin_partner_identity,viin_partner_industry_isic,viin_partner_shareholder,viin_partner_tax_code,viin_pdf_print_preview,viin_pos_account_qr_code_emv,viin_pos_custom_bill_logo,viin_pos_product_multi_barcodes,viin_pos_qr,viin_pos_qr_bidv,viin_pos_refund,viin_pos_return,viin_pos_sales_receipt_title,viin_pos_scale,viin_pos_vnpay,viin_pricelist_validity_advance,viin_product_approval,viin_product_approval_account,viin_product_approval_marketplace,viin_product_approval_marketplace_website_sale,viin_product_approval_purchase,viin_product_approval_sale,viin_product_approval_website_sale,viin_product_multi_barcodes,viin_project,viin_project_access_timesheet,viin_project_gantt,viin_project_progress,viin_project_scrum,viin_project_scrum_gantt,viin_project_scrum_helpdesk,viin_project_timesheet_leave,viin_project_todo,viin_purchase,viin_qrcode,viin_quality_stock_access_control,viin_rental,viin_rental_stock,viin_repair,viin_repair_access_group,viin_repair_request_from_warranty,viin_repair_supply,viin_resource,viin_safe_field_model_selector,viin_sale,viin_sale_addendum,viin_sale_business_nature,viin_sale_business_nature_isic,viin_sale_crm,viin_sale_crm_business_nature,viin_sale_onbehalf_management,viin_sale_onbehalf_vendorprice,viin_sale_product_duplication_warning,viin_sale_project,viin_sale_project_technician,viin_sale_quotation_template_access,viin_sale_recurring,viin_sale_sankey,viin_sale_subscription,viin_sale_subscription_loyalty,viin_sale_supplier_pricelist,viin_sales_team_collaboration,viin_sales_team_collaboration_crm,viin_sales_team_collaboration_sale,viin_sales_unlink,viin_sales_unlink_stock,viin_sem,viin_sem_crawler,viin_sem_crawler_helpdesk,viin_sem_heatmap,viin_sem_helpdesk,viin_sem_helpdesk_timesheet,viin_sem_project,viin_sign,viin_sign_document,viin_sign_sim,viin_sign_sim_viettel,viin_social,viin_social_facebook,viin_social_lead,viin_social_linkedin,viin_spreadsheet_dashboard_crm,viin_spreadsheet_dashboard_finance,viin_spreadsheet_dashboard_freight,viin_spreadsheet_dashboard_helpdesk,viin_stock,viin_stock_account_backdate,viin_stock_approval,viin_stock_backdate,viin_stock_internal_transfer,viin_stock_internal_transit_valuation,viin_stock_internal_transit_valuation_specific_identification,viin_stock_landed_costs,viin_stock_lot_dropshipping_partner_infor,viin_stock_lot_partner_infor,viin_stock_specific_identification,viin_stock_specific_identification_landed_costs,viin_stock_specific_identification_mrp,viin_stock_specific_identification_purchase_stock,viin_stringee,viin_survey,viin_survey_exam,viin_survey_recompute_results,viin_tracking_location,viin_tracking_location_route,viin_transfer_address,viin_wallet_loyalty,viin_wallet_marketplace_sale,viin_wallet_sale_loyalty,viin_web_cohort,viin_web_countup_timer,viin_web_editor,viin_web_gantt,viin_web_map,viin_web_sankey,viin_website,viin_website_auto_translation,viin_website_auto_translation_blog,viin_website_auto_translation_google,viin_website_blog_access_right,viin_website_blog_toc,viin_website_forum_security_groups,viin_website_gtm,viin_website_helpdesk,viin_website_hr_recruitment_website_editor,viin_website_multilingual_multimedia,viin_website_nofollow,viin_website_page_access_right,viin_website_partner_business_nature,viin_website_partner_business_nature_patch1,viin_website_sale_recurring,viin_website_sale_subscription,viin_website_seo,viin_website_seo_advisor,viin_website_seo_advisor_blog,viin_website_seo_blog,viin_website_seo_event,viin_website_seo_forum,viin_website_seo_hr_recruitment,viin_website_seo_sale,viin_website_seo_sale_stock,viin_website_seo_slides,viin_website_slides,viin_website_slides_survey,viin_workflow_automation,viin_workflow_automation_hr,viin_workflow_marketing_sale,viin_workflow_marketing_sale_event,viin_workflow_marketing_sale_livechat,viin_workflow_marketing_sale_sms,viin_workflow_marketing_sale_social,viin_workflow_marketing_sale_survey,viin_workflow_marketing_sale_website,viin_workflow_marketing_sale_zalo,viin_zalo,viin_zalo_account,viin_zalo_auth_oauth,viin_zalo_chatter_sync,viin_zalo_crm,viin_zalo_helpdesk,viin_zalo_sale,viin_zalo_website_livechat,viin_zalo_zbs,web,web_editor,web_hierarchy,web_responsive,web_tour,web_unsplash,website,website_blog,website_cf_turnstile,website_crm,website_crm_iap_reveal,website_crm_livechat,website_crm_partner_assign,website_crm_sms,website_customer,website_event,website_event_booth,website_event_booth_exhibitor,website_event_booth_sale,website_event_booth_sale_exhibitor,website_event_crm,website_event_exhibitor,website_event_jitsi,website_event_meet,website_event_meet_quiz,website_event_sale,website_event_track,website_event_track_live,website_event_track_live_quiz,website_event_track_quiz,website_form_project,website_forum,website_google_map,website_hr_recruitment,website_jitsi,website_links,website_livechat,website_mail,website_mail_group,website_mass_mailing,website_mass_mailing_sms,website_membership,website_partner,website_payment,website_payment_authorize,website_profile,website_sale,website_sale_autocomplete,website_sale_comparison,website_sale_comparison_wishlist,website_sale_loyalty,website_sale_mondialrelay,website_sale_mrp,website_sale_picking,website_sale_product_configurator,website_sale_slides,website_sale_stock,website_sale_stock_wishlist,website_sale_wishlist,website_slides,website_slides_forum,website_slides_survey,website_sms,website_twitter
  • exec_odoo --db_port 5432 --log-level=test --max-cron-threads=0 --http-interface=127.0.0.1 --load=base,web,to_base --stop-after-init --test-enable --test-tags=/viin_maintenance,/viin_maintenance_preventive_mode,/viin_marketplace,/viin_marketplace_event_sale,/viin_marketplace_loyalty,/viin_marketplace_rating,/viin_marketplace_sale,/viin_marketplace_sale_currency_conversion_diff,/viin_marketplace_sale_loyalty,/viin_marketplace_sale_product_configurator,/viin_marketplace_sale_purchase,/viin_marketplace_sale_stock,/viin_marketplace_snailmail,/viin_marketplace_stock,/viin_marketplace_website_sale,/viin_marketplace_website_sale_stock,/viin_meeting_room,/viin_message_edit_lock,/viin_mrp,/viin_mrp_account,/viin_mrp_filter,/viin_mrp_landed_costs,/viin_mrp_plm_approval,/viin_mrp_plm_subcontracting_purchase,/viin_mrp_plm_test_full,/viin_mrp_progress,/viin_mrp_standard_consumption,/viin_mrp_subcontracting_link,/viin_mrp_subcontracting_loss_report,/viin_mrp_subcontracting_report,/viin_mrp_subcontracting_request,/viin_mrp_subcontracting_request_approval,/viin_mrp_subcontracting_request_plm,/viin_mrp_subcontracting_request_requisition,/viin_multi_warehouse_access_control_purchase_requisition,/viin_partner_approval,/viin_partner_approval_marketplace,/viin_partner_approval_marketplace_website,/viin_partner_approval_website,/viin_partner_budget_code,/viin_partner_business_nature,/viin_partner_business_nature_patch1,/viin_partner_calendar,/viin_partner_country_recognition,/viin_partner_filter,/viin_partner_gender,/viin_partner_identity,/viin_partner_industry_isic,/viin_partner_shareholder,/viin_partner_tax_code,/viin_pdf_print_preview,/viin_pos_account_qr_code_emv,/viin_pos_custom_bill_logo,/viin_pos_product_multi_barcodes,/viin_pos_qr,/viin_pos_qr_bidv,/viin_pos_refund,/viin_pos_return,/viin_pos_sales_receipt_title,/viin_pos_scale,/viin_pos_vnpay,/viin_pricelist_validity_advance,/viin_product_approval,/viin_product_approval_account,/viin_product_approval_marketplace,/viin_product_approval_marketplace_website_sale,/viin_product_approval_purchase,/viin_product_approval_sale,/viin_product_approval_website_sale,/viin_product_multi_barcodes,/viin_project,/viin_project_access_timesheet,/viin_project_gantt,/viin_project_progress,/viin_project_scrum,/viin_project_scrum_gantt,/viin_project_scrum_helpdesk,/viin_project_timesheet_leave,/viin_project_todo,/viin_purchase,/viin_qrcode,/viin_quality_stock_access_control,/viin_rental,/viin_rental_stock,/viin_repair,/viin_repair_access_group,/viin_repair_request_from_warranty,/viin_repair_supply,/viin_resource,/viin_safe_field_model_selector,/viin_sale,/viin_sale_addendum,/viin_sale_business_nature,/viin_sale_business_nature_isic,/viin_sale_crm,/viin_sale_crm_business_nature,/viin_sale_onbehalf_management,/viin_sale_onbehalf_vendorprice,/viin_sale_product_duplication_warning,/viin_sale_project,/viin_sale_project_technician,/viin_sale_quotation_template_access,/viin_sale_recurring,/viin_sale_sankey,/viin_sale_subscription,/viin_sale_subscription_loyalty,/viin_sale_supplier_pricelist,/viin_sales_team_collaboration,/viin_sales_team_collaboration_crm,/viin_sales_team_collaboration_sale,/viin_sales_unlink,/viin_sales_unlink_stock,/viin_sem,/viin_sem_crawler,/viin_sem_crawler_helpdesk,/viin_sem_heatmap,/viin_sem_helpdesk,/viin_sem_helpdesk_timesheet,/viin_sem_project,/viin_sign,/viin_sign_document,/viin_sign_sim,/viin_sign_sim_viettel,/viin_social,/viin_social_facebook,/viin_social_lead,/viin_social_linkedin,/viin_spreadsheet_dashboard_crm,/viin_spreadsheet_dashboard_finance,/viin_spreadsheet_dashboard_freight,/viin_spreadsheet_dashboard_helpdesk,/viin_stock,/viin_stock_account_backdate,/viin_stock_approval,/viin_stock_backdate,-at_install,-.test_so_and_multicurrency,-:TestUi.test_02_crm_tour_rainbowman,-.test_assign_perf_duplicates,-/l10n_it_edi_sdicoop,-:TestExamples.test_with_car_with_atn_with_car,-:TestExamples.test_with_car_with_atn_with_child,-/project_enterprise.test_01_ui,-.test_generate_fec_sanitize_pieceref,-:TestEventPerformance.test_event_create_single_notype_website,-:TestInventory.test_cyclic_inventory,-:TestUi.test_04_mass_mailing_snippets_menu_hide,-:WebSuite.test_check_suite,-:TestResConfigSettings.test_set_default_analytic_plan,-:TestWebsiteSaleDeliveryExpressCheckoutFlows.test_express_checkout_registered_user_with_shipping_option_new_address,-:TestBatchPicking02.test_backorder_batching_2,-:.test_account_line_entry_kit_bom_dropship,-:TestPosMargin.test_avco_margin_closing_time,-:TestAccountMoveOutInvoiceOnchanges.test_before_initial_rate,-:TestCurrencyRatePurchaseStock.test_supply_po_rate_have_bank_default,-:TestCurrencyRatePurchaseStock.test_supply_po_rate_have_bank_default_no_rate,-:TestCurrencyRatePurchaseStock.test_supply_po_rate_no_have_bank_default,-:TestWebEditorController.test_modify_image,-:TestPurchaseOrder.test_foreign_bill_autocomplete_with_payment_term,-:TestImLivechatMessage.test_feedback_message,-:TestImLivechatMessage.test_message_to_store,-:TestChannelInternals.test_channel_members,-:TestDiscussFullPerformance.test_30_discuss_channels,-:TestPurchaseOrder.test_foreign_bill_tax_included,-:TestMessageToStorePerformance.test_message_to_store_multi_followers_inbox,-:TestDiscussFullPerformance.test_10_init_store_data,-:TestGetDiscussChannel.test_channel_get_livechat_visitor_info,-:TestReportsRendering.test_report_specific_paperformat_args,-:.test_partial_billing_interaction_with_invoicing_switch_threshold,-:.test_partial_invoicing_interaction_with_invoicing_switch_threshold,-:.test_invoice_with_already_invoiced_timesheets,-:TestProjectSubtasks.test_subtask_project
Create Date Level Message
07/27/2026 20:00:26 INFO
Using Docker Image Odoo 17 Ubuntu 22.04 Python 3.10:

FROM ubuntu:jammy

ENV LANG C.UTF-8
ENV ODOO_TEST_FAILURE_RETRIES=2

USER root

SHELL ["/bin/bash", "-c"]

# Install debian packages
RUN set -x ; \
apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends apt-transport-https build-essential ca-certificates curl ffmpeg file fonts-freefont-ttf fonts-noto-cjk gawk gnupg gsfonts libldap2-dev libjpeg9-dev libsasl2-dev libxslt1-dev lsb-release node-less ocrmypdf sed sudo unzip xfonts-75dpi zip zlib1g-dev git build-essential cython3 libffi-dev libev-dev \
&& rm -rf /var/lib/apt/lists/*

# Install Python3 packages
RUN set -x ; \
apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends python3 python3-dbfread python3-dev python3-pip python3-setuptools python3-wheel python3-markdown python3-mock python3-phonenumbers python3-websocket python3-cffi libpq-dev \
&& rm -rf /var/lib/apt/lists/*

# Install wkhtml
RUN curl -sSL https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb -o /tmp/wkhtmltox_0.12.6-1.focal_amd64.deb \
&& curl -sSL http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.0g-2ubuntu4_amd64.deb -o /tmp/libssl1.1_1.1.0g-2ubuntu4_amd64.deb \
&& apt-get update \
&& dpkg -i /tmp/libssl1.1_1.1.0g-2ubuntu4_amd64.deb \
&& apt install -y -f --no-install-recommends /tmp/wkhtmltox_0.12.6-1.focal_amd64.deb \
&& rm /tmp/libssl1.1_1.1.0g-2ubuntu4_amd64.deb /tmp/wkhtmltox_0.12.6-1.focal_amd64.deb

# Install Odoo:Depends
ADD https://raw.githubusercontent.com/brendangregg/FlameGraph/master/flamegraph.pl /usr/local/bin/flamegraph.pl
RUN chmod +rx /usr/local/bin/flamegraph.pl
ADD https://raw.githubusercontent.com/Viindoo/odoo/17.0/debian/control /tmp/control.txt
RUN apt-get update \
&& sed -n '/^Depends:/,/^[A-Z]/p' /tmp/control.txt \
| awk '/^ [a-z]/ { gsub(/,/,"") ; print $1 }' | sort -u \
| egrep -v 'postgresql-client' \
| sed 's/python-imaging/python-pil/'| sed 's/python-pypdf/python-pypdf2/' | sed 's/python3-lxml-html-clean/python3-lxml/' \
| DEBIAN_FRONTEND=noninteractive xargs apt-get install -y -qq \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*

RUN python3 -m pip install --no-cache-dir setuptools wheel && \
python3 -m pip install coverage==7.4.4 flamegraph

RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y postgresql-client-14 \
&& rm -rf /var/lib/apt/lists/*

# Install Google Chrome
ARG CHROME_VERSION=141.0.7390.54

RUN set -eux; \
echo 'repo_add_once="false"' > /etc/default/google-chrome; \
curl -sSLf "https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_${CHROME_VERSION}-1_amd64.deb" \
-o /tmp/chrome.deb; \
apt-get update; \
apt-get -y install --no-install-recommends /tmp/chrome.deb; \
apt-mark hold google-chrome-stable; \
rm -f /tmp/chrome.deb /etc/apt/sources.list.d/google-chrome.list; \
rm -rf /var/lib/apt/lists/*; \
google-chrome --version | grep -F "${CHROME_VERSION}"

# Install phantomjs
RUN curl -sSL https://nightly.odoo.com/resources/phantomjs.tar.bz2 -o /tmp/phantomjs.tar.bz2 \
&& tar xvfO /tmp/phantomjs.tar.bz2 phantomjs-2.1.1-linux-x86_64/bin/phantomjs > /usr/local/bin/phantomjs \
&& chmod +x /usr/local/bin/phantomjs \
&& rm -f /tmp/phantomjs.tar.bz2

ADD https://raw.githubusercontent.com/Viindoo/odoo/17.0/requirements.txt /root/requirements.txt
RUN python3 -m pip install --no-cache-dir wheel setuptools && \
python3 -m pip install --upgrade --no-cache-dir -r /root/requirements.txt && \
python3 -m pip install --no-cache-dir ebaysdk==2.1.5 pdf417gen==0.7.1

RUN python3 -m pip install --no-cache-dir requests pyOpenSSL

# Install debian packages
RUN set -x ; \
apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends openssl iputils-ping openssh-client chromium-browser \
&& rm -rf /var/lib/apt/lists/*

RUN python3 -m pip install --no-cache-dir --upgrade websocket-client==1.2.3 flake8==4.0.1
RUN python3 -m pip uninstall pylint pylint-odoo isort Pygments -y
RUN python3 -m pip install --no-cache-dir --upgrade pylint-odoo==9.0.5
RUN python3 -m pip install --no-cache-dir --upgrade Pygments==2.15.0 --no-deps
RUN python3 -m pip install --no-cache-dir --upgrade odoo_test_helper

# Install nodejs
RUN curl -fsSLO --compressed "https://nodejs.org/dist/v18.20.0/node-v18.20.0-linux-x64.tar.xz" \
&& tar -xJf "node-v18.20.0-linux-x64.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
&& rm "node-v18.20.0-linux-x64.tar.xz" \
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs
#RUN npm install -g rtlcss es-check eslint@8
RUN python3 -m pip install --no-cache-dir --upgrade setuptools==61 # để tương thích với python-pkcs11-0.7.0

# Install cloc package
RUN set -x ; \
apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends cloc \
&& rm -rf /var/lib/apt/lists/*

RUN npm install -g rtlcss@3.4.0 es-check@6.0.0 eslint@8.57.1 prettier@2.7.1 eslint-config-prettier@8.5.0 eslint-plugin-prettier@4.2.1 --save-dev
07/27/2026 20:45:08 INFO
Post install tests: from viin_maintenance to viin_stock_backdate:
Command: exec_odoo args: --db_port 5432 --log-level=test --max-cron-threads=0 --http-interface=127.0.0.1 --load=base,web,to_base --stop-after-init --test-enable --test-tags=/viin_maintenance,/viin_maintenance_preventive_mode,/viin_marketplace,/viin_marketplace_event_sale,/viin_marketplace_loyalty,/viin_marketplace_rating,/viin_marketplace_sale,/viin_marketplace_sale_currency_conversion_diff,/viin_marketplace_sale_loyalty,/viin_marketplace_sale_product_configurator,/viin_marketplace_sale_purchase,/viin_marketplace_sale_stock,/viin_marketplace_snailmail,/viin_marketplace_stock,/viin_marketplace_website_sale,/viin_marketplace_website_sale_stock,/viin_meeting_room,/viin_message_edit_lock,/viin_mrp,/viin_mrp_account,/viin_mrp_filter,/viin_mrp_landed_costs,/viin_mrp_plm_approval,/viin_mrp_plm_subcontracting_purchase,/viin_mrp_plm_test_full,/viin_mrp_progress,/viin_mrp_standard_consumption,/viin_mrp_subcontracting_link,/viin_mrp_subcontracting_loss_report,/viin_mrp_subcontracting_report,/viin_mrp_subcontracting_request,/viin_mrp_subcontracting_request_approval,/viin_mrp_subcontracting_request_plm,/viin_mrp_subcontracting_request_requisition,/viin_multi_warehouse_access_control_purchase_requisition,/viin_partner_approval,/viin_partner_approval_marketplace,/viin_partner_approval_marketplace_website,/viin_partner_approval_website,/viin_partner_budget_code,/viin_partner_business_nature,/viin_partner_business_nature_patch1,/viin_partner_calendar,/viin_partner_country_recognition,/viin_partner_filter,/viin_partner_gender,/viin_partner_identity,/viin_partner_industry_isic,/viin_partner_shareholder,/viin_partner_tax_code,/viin_pdf_print_preview,/viin_pos_account_qr_code_emv,/viin_pos_custom_bill_logo,/viin_pos_product_multi_barcodes,/viin_pos_qr,/viin_pos_qr_bidv,/viin_pos_refund,/viin_pos_return,/viin_pos_sales_receipt_title,/viin_pos_scale,/viin_pos_vnpay,/viin_pricelist_validity_advance,/viin_product_approval,/viin_product_approval_account,/viin_product_approval_marketplace,/viin_product_approval_marketplace_website_sale,/viin_product_approval_purchase,/viin_product_approval_sale,/viin_product_approval_website_sale,/viin_product_multi_barcodes,/viin_project,/viin_project_access_timesheet,/viin_project_gantt,/viin_project_progress,/viin_project_scrum,/viin_project_scrum_gantt,/viin_project_scrum_helpdesk,/viin_project_timesheet_leave,/viin_project_todo,/viin_purchase,/viin_qrcode,/viin_quality_stock_access_control,/viin_rental,/viin_rental_stock,/viin_repair,/viin_repair_access_group,/viin_repair_request_from_warranty,/viin_repair_supply,/viin_resource,/viin_safe_field_model_selector,/viin_sale,/viin_sale_addendum,/viin_sale_business_nature,/viin_sale_business_nature_isic,/viin_sale_crm,/viin_sale_crm_business_nature,/viin_sale_onbehalf_management,/viin_sale_onbehalf_vendorprice,/viin_sale_product_duplication_warning,/viin_sale_project,/viin_sale_project_technician,/viin_sale_quotation_template_access,/viin_sale_recurring,/viin_sale_sankey,/viin_sale_subscription,/viin_sale_subscription_loyalty,/viin_sale_supplier_pricelist,/viin_sales_team_collaboration,/viin_sales_team_collaboration_crm,/viin_sales_team_collaboration_sale,/viin_sales_unlink,/viin_sales_unlink_stock,/viin_sem,/viin_sem_crawler,/viin_sem_crawler_helpdesk,/viin_sem_heatmap,/viin_sem_helpdesk,/viin_sem_helpdesk_timesheet,/viin_sem_project,/viin_sign,/viin_sign_document,/viin_sign_sim,/viin_sign_sim_viettel,/viin_social,/viin_social_facebook,/viin_social_lead,/viin_social_linkedin,/viin_spreadsheet_dashboard_crm,/viin_spreadsheet_dashboard_finance,/viin_spreadsheet_dashboard_freight,/viin_spreadsheet_dashboard_helpdesk,/viin_stock,/viin_stock_account_backdate,/viin_stock_approval,/viin_stock_backdate,-at_install,-.test_so_and_multicurrency,-:TestUi.test_02_crm_tour_rainbowman,-.test_assign_perf_duplicates,-/l10n_it_edi_sdicoop,-:TestExamples.test_with_car_with_atn_with_car,-:TestExamples.test_with_car_with_atn_with_child,-/project_enterprise.test_01_ui,-.test_generate_fec_sanitize_pieceref,-:TestEventPerformance.test_event_create_single_notype_website,-:TestInventory.test_cyclic_inventory,-:TestUi.test_04_mass_mailing_snippets_menu_hide,-:WebSuite.test_check_suite,-:TestResConfigSettings.test_set_default_analytic_plan,-:TestWebsiteSaleDeliveryExpressCheckoutFlows.test_express_checkout_registered_user_with_shipping_option_new_address,-:TestBatchPicking02.test_backorder_batching_2,-:.test_account_line_entry_kit_bom_dropship,-:TestPosMargin.test_avco_margin_closing_time,-:TestAccountMoveOutInvoiceOnchanges.test_before_initial_rate,-:TestCurrencyRatePurchaseStock.test_supply_po_rate_have_bank_default,-:TestCurrencyRatePurchaseStock.test_supply_po_rate_have_bank_default_no_rate,-:TestCurrencyRatePurchaseStock.test_supply_po_rate_no_have_bank_default,-:TestWebEditorController.test_modify_image,-:TestPurchaseOrder.test_foreign_bill_autocomplete_with_payment_term,-:TestImLivechatMessage.test_feedback_message,-:TestImLivechatMessage.test_message_to_store,-:TestChannelInternals.test_channel_members,-:TestDiscussFullPerformance.test_30_discuss_channels,-:TestPurchaseOrder.test_foreign_bill_tax_included,-:TestMessageToStorePerformance.test_message_to_store_multi_followers_inbox,-:TestDiscussFullPerformance.test_10_init_store_data,-:TestGetDiscussChannel.test_channel_get_livechat_visitor_info,-:TestReportsRendering.test_report_specific_paperformat_args,-:.test_partial_billing_interaction_with_invoicing_switch_threshold,-:.test_partial_invoicing_interaction_with_invoicing_switch_threshold,-:.test_invoice_with_already_invoiced_timesheets,-:TestProjectSubtasks.test_subtask_project
07/27/2026 20:45:08 INFO
Docker command:
cd /data/build; python3 -m pip install --user --progress-bar off -r Viindoo-tvtmaaddons-17.0/requirements.txt && python3 -m pip install --user --progress-bar off -r Viindoo-erponline-enterprise-17.0/requirements.txt && python3 Viindoo-odoo-17.0/odoo-bin --addons-path Viindoo-odoo-17.0/odoo/addons,Viindoo-odoo-17.0/addons,Viindoo-tvtmaaddons-17.0,Viindoo-erponline-enterprise-17.0,Viindoo-branding-17.0,rb-3d45897-223402 -d rb-3d45897-223402-398371 --data-dir /data/build/datadir --db_port 5432 --log-level=test --max-cron-threads=0 --http-interface=127.0.0.1 --load=base,web,to_base --stop-after-init --test-enable --test-tags=/viin_maintenance,/viin_maintenance_preventive_mode,/viin_marketplace,/viin_marketplace_event_sale,/viin_marketplace_loyalty,/viin_marketplace_rating,/viin_marketplace_sale,/viin_marketplace_sale_currency_conversion_diff,/viin_marketplace_sale_loyalty,/viin_marketplace_sale_product_configurator,/viin_marketplace_sale_purchase,/viin_marketplace_sale_stock,/viin_marketplace_snailmail,/viin_marketplace_stock,/viin_marketplace_website_sale,/viin_marketplace_website_sale_stock,/viin_meeting_room,/viin_message_edit_lock,/viin_mrp,/viin_mrp_account,/viin_mrp_filter,/viin_mrp_landed_costs,/viin_mrp_plm_approval,/viin_mrp_plm_subcontracting_purchase,/viin_mrp_plm_test_full,/viin_mrp_progress,/viin_mrp_standard_consumption,/viin_mrp_subcontracting_link,/viin_mrp_subcontracting_loss_report,/viin_mrp_subcontracting_report,/viin_mrp_subcontracting_request,/viin_mrp_subcontracting_request_approval,/viin_mrp_subcontracting_request_plm,/viin_mrp_subcontracting_request_requisition,/viin_multi_warehouse_access_control_purchase_requisition,/viin_partner_approval,/viin_partner_approval_marketplace,/viin_partner_approval_marketplace_website,/viin_partner_approval_website,/viin_partner_budget_code,/viin_partner_business_nature,/viin_partner_business_nature_patch1,/viin_partner_calendar,/viin_partner_country_recognition,/viin_partner_filter,/viin_partner_gender,/viin_partner_identity,/viin_partner_industry_isic,/viin_partner_shareholder,/viin_partner_tax_code,/viin_pdf_print_preview,/viin_pos_account_qr_code_emv,/viin_pos_custom_bill_logo,/viin_pos_product_multi_barcodes,/viin_pos_qr,/viin_pos_qr_bidv,/viin_pos_refund,/viin_pos_return,/viin_pos_sales_receipt_title,/viin_pos_scale,/viin_pos_vnpay,/viin_pricelist_validity_advance,/viin_product_approval,/viin_product_approval_account,/viin_product_approval_marketplace,/viin_product_approval_marketplace_website_sale,/viin_product_approval_purchase,/viin_product_approval_sale,/viin_product_approval_website_sale,/viin_product_multi_barcodes,/viin_project,/viin_project_access_timesheet,/viin_project_gantt,/viin_project_progress,/viin_project_scrum,/viin_project_scrum_gantt,/viin_project_scrum_helpdesk,/viin_project_timesheet_leave,/viin_project_todo,/viin_purchase,/viin_qrcode,/viin_quality_stock_access_control,/viin_rental,/viin_rental_stock,/viin_repair,/viin_repair_access_group,/viin_repair_request_from_warranty,/viin_repair_supply,/viin_resource,/viin_safe_field_model_selector,/viin_sale,/viin_sale_addendum,/viin_sale_business_nature,/viin_sale_business_nature_isic,/viin_sale_crm,/viin_sale_crm_business_nature,/viin_sale_onbehalf_management,/viin_sale_onbehalf_vendorprice,/viin_sale_product_duplication_warning,/viin_sale_project,/viin_sale_project_technician,/viin_sale_quotation_template_access,/viin_sale_recurring,/viin_sale_sankey,/viin_sale_subscription,/viin_sale_subscription_loyalty,/viin_sale_supplier_pricelist,/viin_sales_team_collaboration,/viin_sales_team_collaboration_crm,/viin_sales_team_collaboration_sale,/viin_sales_unlink,/viin_sales_unlink_stock,/viin_sem,/viin_sem_crawler,/viin_sem_crawler_helpdesk,/viin_sem_heatmap,/viin_sem_helpdesk,/viin_sem_helpdesk_timesheet,/viin_sem_project,/viin_sign,/viin_sign_document,/viin_sign_sim,/viin_sign_sim_viettel,/viin_social,/viin_social_facebook,/viin_social_lead,/viin_social_linkedin,/viin_spreadsheet_dashboard_crm,/viin_spreadsheet_dashboard_finance,/viin_spreadsheet_dashboard_freight,/viin_spreadsheet_dashboard_helpdesk,/viin_stock,/viin_stock_account_backdate,/viin_stock_approval,/viin_stock_backdate,-at_install,-.test_so_and_multicurrency,-:TestUi.test_02_crm_tour_rainbowman,-.test_assign_perf_duplicates,-/l10n_it_edi_sdicoop,-:TestExamples.test_with_car_with_atn_with_car,-:TestExamples.test_with_car_with_atn_with_child,-/project_enterprise.test_01_ui,-.test_generate_fec_sanitize_pieceref,-:TestEventPerformance.test_event_create_single_notype_website,-:TestInventory.test_cyclic_inventory,-:TestUi.test_04_mass_mailing_snippets_menu_hide,-:WebSuite.test_check_suite,-:TestResConfigSettings.test_set_default_analytic_plan,-:TestWebsiteSaleDeliveryExpressCheckoutFlows.test_express_checkout_registered_user_with_shipping_option_new_address,-:TestBatchPicking02.test_backorder_batching_2,-:.test_account_line_entry_kit_bom_dropship,-:TestPosMargin.test_avco_margin_closing_time,-:TestAccountMoveOutInvoiceOnchanges.test_before_initial_rate,-:TestCurrencyRatePurchaseStock.test_supply_po_rate_have_bank_default,-:TestCurrencyRatePurchaseStock.test_supply_po_rate_have_bank_default_no_rate,-:TestCurrencyRatePurchaseStock.test_supply_po_rate_no_have_bank_default,-:TestWebEditorController.test_modify_image,-:TestPurchaseOrder.test_foreign_bill_autocomplete_with_payment_term,-:TestImLivechatMessage.test_feedback_message,-:TestImLivechatMessage.test_message_to_store,-:TestChannelInternals.test_channel_members,-:TestDiscussFullPerformance.test_30_discuss_channels,-:TestPurchaseOrder.test_foreign_bill_tax_included,-:TestMessageToStorePerformance.test_message_to_store_multi_followers_inbox,-:TestDiscussFullPerformance.test_10_init_store_data,-:TestGetDiscussChannel.test_channel_get_livechat_visitor_info,-:TestReportsRendering.test_report_specific_paperformat_args,-:.test_partial_billing_interaction_with_invoicing_switch_threshold,-:.test_partial_invoicing_interaction_with_invoicing_switch_threshold,-:.test_invoice_with_already_invoiced_timesheets,-:TestProjectSubtasks.test_subtask_project ;
07/27/2026 20:45:08 INFO
Restoring from: rb-3d45897-223402-398363
07/27/2026 20:45:08 INFO
Container rb-3d45897-223402-398371 started !
07/27/2026 21:25:55 INFO
Container rb-3d45897-223402-398371 stopped !
07/27/2026 21:25:55 INFO
Cleaning all resource
07/27/2026 21:25:55 INFO
Cleanup finished