Code review comment for lp:~ajite/multi-company/multi-company-add-0001

Revision history for this message
Alexandre Fayolle - camptocamp (alexandre-fayolle-c2c) wrote :

This looks like a great module. However it needs some work before further
review is done:

1. this module will cause a crash at server startup if it is present in the addons path (not necessarily installed) and the connector module is not available in the addons path::

    CRITICAL test_70 openerp.modules.module: Couldn't load module web
    CRITICAL test_70 openerp.modules.module: No module named connector
    ERROR test_70 openerp: Failed to initialize database `test_70`.
    Traceback (most recent call last):
      File "/home/afayolle/work/oerp/openobject-server/7.0/openerp/cli/server.py", line 97, in preload_registry
        db, registry = openerp.pooler.get_db_and_pool(dbname,update_module=update_module)
      File "/home/afayolle/work/oerp/openobject-server/7.0/openerp/pooler.py", line 33, in get_db_and_pool
        registry = RegistryManager.get(db_name, force_demo, status, update_module)
      File "/home/afayolle/work/oerp/openobject-server/7.0/openerp/modules/registry.py", line 203, in get
        update_module)
      File "/home/afayolle/work/oerp/openobject-server/7.0/openerp/modules/registry.py", line 233, in new
        openerp.modules.load_modules(registry.db, force_demo, status, update_module)
      File "/home/afayolle/work/oerp/openobject-server/7.0/openerp/modules/loading.py", line 354, in load_modules
        loaded_modules, update_module)
      File "/home/afayolle/work/oerp/openobject-server/7.0/openerp/modules/loading.py", line 256, in load_marked_modules
        loaded, processed = load_module_graph(cr, graph, progressdict, report=report, skip_modules=loaded_modules, perform_checks=perform_checks)
      File "/home/afayolle/work/oerp/openobject-server/7.0/openerp/modules/loading.py", line 159, in load_module_graph
        load_openerp_module(package.name)
      File "/home/afayolle/work/oerp/openobject-server/7.0/openerp/modules/module.py", line 415, in load_openerp_module
        getattr(sys.modules['openerp.addons.' + module_name], info['post_load'])()
      File "/home/afayolle/work/oerp/web/7.0/addons/web/http.py", line 628, in wsgi_postload
        openerp.wsgi.register_wsgi_handler(Root())
      File "/home/afayolle/work/oerp/web/7.0/addons/web/http.py", line 517, in __init__
        self.load_addons()
      File "/home/afayolle/work/oerp/web/7.0/addons/web/http.py", line 580, in load_addons
        m = __import__('openerp.addons.' + module)
      File "/home/afayolle/work/oerp/openobject-server/7.0/openerp/modules/module.py", line 133, in load_module
        mod = imp.load_module('openerp.addons.' + module_part, f, path, descr)
      File "/home/afayolle/work/oca/multi-company/multi-company-add-0001/base_intercompany/__init__.py", line 23, in <module>
        import connector
      File "/home/afayolle/work/oca/multi-company/multi-company-add-0001/base_intercompany/connector.py", line 25, in <module>
        from openerp.addons.connector.connector import Environment
      File "/home/afayolle/work/oerp/openobject-server/7.0/openerp/modules/module.py", line 132, in load_module
        f, path, descr = imp.find_module(module_part, ad_paths)
    ImportError: No module named connector

2. The addon has tests (good!) but they trigger a number of ERROR level log
lines which may not be bugs, but I would at least need some confirmation of
this. Since the runbot considers the tests failed if there are such log
messages, this could be an issue for future automated tests:

    TEST test_70 openerp.modules.module: module base_intercompany_sale: executing 1 `fast_suite` and/or `checks` sub-modules
    TEST test_70 openerp.modules.module: test_01_creation (openerp.addons.base_intercompany_sale.tests.test_sale.test_sale_so2po)
    ERROR test_70 openerp.osv.expression: The field 'Object' (model) can not be searched: non-stored function field without fnct_search
    ERROR test_70 openerp.osv.expression: The field 'Object' (model) can not be searched: non-stored function field without fnct_search
    TEST test_70 openerp.modules.module: test_02_creation_raise_exception (openerp.addons.base_intercompany_sale.tests.test_sale.test_sale_so2po)
    ERROR test_70 openerp.osv.expression: The field 'Object' (model) can not be searched: non-stored function field without fnct_search
    TEST test_70 openerp.modules.module: test_03_creation_without_write_permission (openerp.addons.base_intercompany_sale.tests.test_sale.test_sale_so2po)
    ERROR test_70 openerp.osv.expression: The field 'Object' (model) can not be searched: non-stored function field without fnct_search
    ERROR test_70 openerp.osv.expression: The field 'Object' (model) can not be searched: non-stored function field without fnct_search
    TEST test_70 openerp.modules.module: test_01_creation (openerp.addons.base_intercompany_sale.tests.test_sale.test_sale_so2so)
    ERROR test_70 openerp.osv.expression: The field 'Object' (model) can not be searched: non-stored function field without fnct_search
    WARNING test_70 openerp.osv.orm: No such field(s) in model sale.order: payment_term_id.
    ERROR test_70 openerp.osv.expression: The field 'Object' (model) can not be searched: non-stored function field without fnct_search
    WARNING test_70 openerp.osv.orm: No such field(s) in model sale.order: payment_term_id.
    TEST test_70 openerp.modules.module: test_02_creation_raise_exception (openerp.addons.base_intercompany_sale.tests.test_sale.test_sale_so2so)
    ERROR test_70 openerp.osv.expression: The field 'Object' (model) can not be searched: non-stored function field without fnct_search
    TEST test_70 openerp.modules.module: test_03_creation_without_write_permission (openerp.addons.base_intercompany_sale.tests.test_sale.test_sale_so2so)
    ERROR test_70 openerp.osv.expression: The field 'Object' (model) can not be searched: non-stored function field without fnct_search
    WARNING test_70 openerp.osv.orm: No such field(s) in model sale.order: payment_term_id.
    ERROR test_70 openerp.osv.expression: The field 'Object' (model) can not be searched: non-stored function field without fnct_search
    WARNING test_70 openerp.osv.orm: No such field(s) in model sale.order: payment_term_id.
    TEST test_70 openerp.modules.module: Ran 6 tests in 2.043s
    TEST test_70 openerp.modules.module: OK

review: Needs Fixing (tried to install and run the tests)

« Back to merge proposal