def run(self, args):
        options, odooargs = self.parse_args(args)
        if options.scratch:
            purplespade.drop_database(options.database)

        actions = {
            'to remove': self._to_remove,
            'to install': self._to_install,
            'to upgrade': self._to_upgrade
        }
        purplespade.start_openerp(db_name=options.database, *odooargs)
        with purplespade.openerp_context() as env:
            self.update_module_list(env)
            modules = self.get_modules(env)
            builder = api.ActionPlanBuilder(
                system=self.get_module_information(env, modules),
                expected=self.get_expected_configuration(
                    options.screwdriver_file
                ),
            )
            action_plan = builder.build()
            for action in action_plan:
                actions[action.action](modules[action.name])
                env.cr.commit()
                env.clear()
Exemple #2
0
    def run(self, args):
        self.options = self.parse_args(args)
        if self.options.scratch:
            purplespade.drop_database(self.options.database)

        self.set_logging(self.options.log in ['init', 'all'])
        if self.options.database:
            config['db_name'] = self.options.database
        with self.enclose_openerp_api(self.options):
            config['skipif'] = self.options.skipif
            with self.coverage_report(self.options.cover):
                was_successful = self.execute_tests(
                    self.options.tests,
                    self.options.verbosity,
                    log=self.options.log in ['test', 'all']
                )
            sys.exit(not was_successful)
    def run(self, args):
        options = self.parse_args(args)
        if options.scratch:
            purplespade.drop_database(options.database)

        actions = {
            'to remove': self._to_remove,
            'to install': self._to_install,
            'to upgrade': self._to_upgrade
        }
        with purplespade.openerp_env(
            db_name=options.database,
            without_demo=options.without_demo,
        ) as env:
            modules = self.get_modules(env)
            builder = api.ActionPlanBuilder(
                system=self.get_module_information(env, modules),
                expected=self.get_expected_configuration(options.conffile),
            )
            action_plan = builder.build()
            for action in action_plan:
                actions[action.action](modules[action.name])
                env.cr.commit()
                env.clear()