[FIX] When using "--stop-after-init", set the return code correctly. A non zero retur...
authorChristophe Simonis <chs@openerp.com>
Mon, 6 May 2013 10:30:54 +0000 (12:30 +0200)
committerSamus CTO <cto@openerp.com>
Fri, 24 Oct 2014 14:24:50 +0000 (16:24 +0200)
Backport of 2c4e370b766db6280d38a4d3535e07de604b1922 and
33ce0e73dba7c23d004a278f61943be8052e7f37

openerp/cli/server.py

index ec5516a..d7e7ca7 100644 (file)
@@ -97,6 +97,8 @@ def preload_registry(dbname):
         db, registry = openerp.pooler.get_db_and_pool(dbname,update_module=update_module)
     except Exception:
         _logger.exception('Failed to initialize database `%s`.', dbname)
+        return False
+    return registry._assertion_report.failures == 0
 
 def run_test_file(dbname, test_file):
     """ Preload a registry, possibly run a test file, and start the cron."""
@@ -257,12 +259,14 @@ def main(args):
         else:
             openerp.service.start_services()
 
+    rc = 0
     if config['db_name']:
         for dbname in config['db_name'].split(','):
-            preload_registry(dbname)
+            if not preload_registry(dbname):
+                rc += 1
 
     if config["stop_after_init"]:
-        sys.exit(0)
+        sys.exit(rc)
 
     _logger.info('OpenERP server is running, waiting for connections...')
     quit_on_signals()