From bd1607643136127f3d584e01273aa46468430776 Mon Sep 17 00:00:00 2001 From: Antony Lesuisse Date: Sun, 9 Feb 2014 03:25:20 +0100 Subject: fix try to fix runbot oe command bzr revid: al@openerp.com-20140209022520-p55nlctjru58ans5 --- openerpcommand/initialize.py | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'openerpcommand/initialize.py') diff --git a/openerpcommand/initialize.py b/openerpcommand/initialize.py index 6261312de7e..3723e9f5c01 100644 --- a/openerpcommand/initialize.py +++ b/openerpcommand/initialize.py @@ -22,6 +22,8 @@ def install_openerp(database_name, create_database_flag, module_names, install_d # Install the import hook, to import openerp.addons.. openerp.modules.module.initialize_sys_path() + print + registry = openerp.modules.registry.RegistryManager.get( database_name, update_module=True, force_demo=install_demo_data) @@ -88,6 +90,8 @@ def run(args): args.addons = [] config['addons_path'] = ','.join(args.addons) + print "MY addons path is", config['addons_path'] + if args.all_modules: module_names = common.get_addons_from_paths(args.addons, args.exclude) elif args.module: -- cgit v1.2.3 From 295743b1c19b8e32ebc7adadf895367690269644 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Tue, 11 Feb 2014 23:48:46 +0100 Subject: [IMP] oe initialize must take the port as parameter (for http tests) bzr revid: chs@openerp.com-20140211224846-waor2hz1fkw1dml8 --- openerpcommand/initialize.py | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'openerpcommand/initialize.py') diff --git a/openerpcommand/initialize.py b/openerpcommand/initialize.py index 3723e9f5c01..dfa14f7b9dd 100644 --- a/openerpcommand/initialize.py +++ b/openerpcommand/initialize.py @@ -79,6 +79,8 @@ def run(args): config['log_handler'] = [':INFO'] config['test_enable'] = True config['without_demo'] = False + if args.port: + config['xmlrpc_port'] = int(args.port) else: config['log_handler'] = [':CRITICAL'] config['test_enable'] = False @@ -124,6 +126,8 @@ def add_parser(subparsers): parser.add_argument('-d', '--database', metavar='DATABASE', **common.required_or_default('DATABASE', 'the database to create')) common.add_addons_argument(parser) + parser.add_argument('-P', '--port', metavar='PORT', + **common.required_or_default('PORT', 'the server port')) parser.add_argument('--module', metavar='MODULE', action='append', help='specify a module to install' ' (this option can be repeated)') -- cgit v1.2.3 From 9250fd83c5ffa9dd3b14897ca90867f8a55227af Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Wed, 12 Feb 2014 11:55:12 +0100 Subject: [FIX] oe initialize start http server to allow http tests to pass bzr revid: chs@openerp.com-20140212105512-lag945hh0l8z7owk --- openerpcommand/initialize.py | 54 ++++++++++---------------------------------- 1 file changed, 12 insertions(+), 42 deletions(-) (limited to 'openerpcommand/initialize.py') diff --git a/openerpcommand/initialize.py b/openerpcommand/initialize.py index dfa14f7b9dd..cf4e54bfb82 100644 --- a/openerpcommand/initialize.py +++ b/openerpcommand/initialize.py @@ -9,26 +9,6 @@ import time import common -def install_openerp(database_name, create_database_flag, module_names, install_demo_data): - import openerp - config = openerp.tools.config - - if create_database_flag: - with lock_file('/tmp/global_openerp_create_database.lock'): - create_database(database_name) - - config['init'] = dict.fromkeys(module_names, 1) - - # Install the import hook, to import openerp.addons.. - openerp.modules.module.initialize_sys_path() - - print - - registry = openerp.modules.registry.RegistryManager.get( - database_name, update_module=True, force_demo=install_demo_data) - - return registry - # From http://code.activestate.com/recipes/576572/ @contextlib.contextmanager def lock_file(path, wait_delay=.1, max_try=600): @@ -52,21 +32,6 @@ def lock_file(path, wait_delay=.1, max_try=600): os.close(fd) os.unlink(path) -# TODO turn template1 in a parameter -# This should be exposed from openerp (currently in -# openerp/service/web_services.py). -def create_database(database_name): - import openerp - db = openerp.sql_db.db_connect('template1') - cr = db.cursor() # TODO `with db as cr:` - try: - cr.autocommit(True) - cr.execute("""CREATE DATABASE "%s" - ENCODING 'unicode' TEMPLATE "template1" """ \ - % (database_name,)) - finally: - cr.close() - def run(args): assert args.database assert not (args.module and args.all_modules) @@ -74,6 +39,7 @@ def run(args): import openerp config = openerp.tools.config + config['db_name'] = args.database if args.tests: config['log_handler'] = [':INFO'] @@ -92,14 +58,13 @@ def run(args): args.addons = [] config['addons_path'] = ','.join(args.addons) - print "MY addons path is", config['addons_path'] - if args.all_modules: module_names = common.get_addons_from_paths(args.addons, args.exclude) elif args.module: module_names = args.module else: module_names = ['base'] + config['init'] = dict.fromkeys(module_names, 1) if args.coverage: import coverage @@ -108,17 +73,22 @@ def run(args): cov = coverage.coverage(branch=True, include='*.py') cov.start() openerp.netsvc.init_logger() - registry = install_openerp(args.database, not args.no_create, module_names, not config['without_demo']) + + if not args.no_create: + with lock_file('/tmp/global_openerp_create_database.lock'): + openerp.service.db._create_empty_database(args.database) + + config['workers'] = False + + rc = openerp.service.server.start(preload=[args.database], stop=True) + if args.coverage: cov.stop() cov.html_report(directory='coverage') # If we wanted the report on stdout: # cov.report() - # The `_assertion_report` attribute was added on the registry during the - # OpenERP 7.0 development. - if hasattr(registry, '_assertion_report'): - sys.exit(1 if registry._assertion_report.failures else 0) + sys.exit(rc) def add_parser(subparsers): parser = subparsers.add_parser('initialize', -- cgit v1.2.3