def run_dbt_and_check(self, args=None, strict=True, parser=False, profiles_dir=True): log_manager.reset_handlers() if args is None: args = ["run"] final_args = [] if strict: final_args.append('--strict') if parser: final_args.append('--test-new-parser') if os.getenv('DBT_TEST_SINGLE_THREADED') in ('y', 'Y', '1'): final_args.append('--single-threaded') final_args.extend(args) if profiles_dir: final_args.extend(['--profiles-dir', self.test_root_dir]) final_args.append('--log-cache-events') logger.info("Invoking dbt with {}".format(final_args)) if args is None: args = ["run"] logger.info("Invoking dbt with {}".format(args)) return dbt.handle_and_check(final_args)
def setUp(self): self.dbt_core_install_root = os.path.dirname(dbt.__file__) log_manager.reset_handlers() self.initial_dir = INITIAL_ROOT os.chdir(self.initial_dir) # before we go anywhere, collect the initial path info self._logs_dir = os.path.join(self.initial_dir, 'logs', self.prefix) _really_makedirs(self._logs_dir) self.test_original_source_path = _pytest_get_test_root() self.test_root_dir = self._generate_test_root_dir() os.chdir(self.test_root_dir) try: self._symlink_test_folders() except Exception as exc: msg = '\n\t'.join(( 'Failed to symlink test folders!', 'initial_dir={0.initial_dir}', 'test_original_source_path={0.test_original_source_path}', 'test_root_dir={0.test_root_dir}' )).format(self) logger.exception(msg) # if logging isn't set up, I still really want this message. print(msg) traceback.print_exc() raise self._created_schemas = set() reset_deprecations() flags.reset() template_cache.clear() self.use_profile(self._pick_profile()) self.use_default_project() self.set_packages() self.set_selectors() self.load_config()
def run(self): os.chdir(self.cwd) log_manager.reset_handlers() # run server tests in stderr mode log_manager.stderr_console() return super().run()