Skip to content

Commit 8b8031a

Browse files
authored
Merge pull request #156 from gisce/allow_test_depends_for_modules
Allow extra module dependencies to be installed on tests
2 parents 9acb5e5 + 9093e44 commit 8b8031a

File tree

2 files changed

+16
-2
lines changed

2 files changed

+16
-2
lines changed

destral/openerp.py

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ def db_name(self, value):
115115
self.db = None
116116
self.pool = None
117117

118-
def install_module(self, module):
118+
def install_module(self, module, with_test_depends=False):
119119
"""Installs a module
120120
121121
:param module: Module to install
@@ -138,6 +138,20 @@ def install_module(self, module):
138138
[('name', '=', module)],
139139
)
140140
assert module_ids, "Module %s not found" % module
141+
module_info = module_obj.get_module_info(module)
142+
if with_test_depends and module_info.get('test_depends'):
143+
logger.info("Found extra dependencies for module %s" % module)
144+
extra_modules = module_info['test_depends']
145+
logger.info("Including extra dependencies:\n%s" % '\n'.join(extra_modules))
146+
extra_modules_ids = module_obj.search(
147+
txn.cursor, DEFAULT_USER,
148+
[('name', 'in', extra_modules), ('state', '!=', 'installed')],
149+
)
150+
if len(extra_modules_ids) != len(extra_modules):
151+
logger.warning("Some extra dependencies were not found or already installed")
152+
153+
module_ids.extend(extra_modules_ids)
154+
141155
module_obj.button_install(cursor, uid, module_ids)
142156
pool = pooler.get_pool(cursor.dbname)
143157
mod_obj = pool.get('ir.module.module')

destral/testing.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ def run(self, result, debug=False):
4949
else:
5050
self.drop_database = False
5151
result.db_name = self.openerp.db_name
52-
self.openerp.install_module(self.config['module'])
52+
self.openerp.install_module(self.config['module'], with_test_depends=True)
5353
else:
5454
self.openerp.db_name = result.db_name
5555

0 commit comments

Comments
 (0)