def test_check_dir_symlink_broken(self): d = self.make_temp_dir() l = self.make_temp_file(content = 'link') file_symlink.symlink(d, l) file_util.remove(d) with self.assertRaises(IOError) as ctx: file_check.check_dir(l)
def test_check_dir_failure(self): f = self.make_temp_file(content = 'kiwi') with self.assertRaises(IOError) as ctx: file_check.check_dir(f) s = self._make_temp_socket('kiwi.socket') with self.assertRaises(IOError) as ctx: file_check.check_dir(s)
def test_check_dir_symlink_success(self): tmp_dir = self.make_temp_dir() d = self.make_temp_dir(dir = tmp_dir) l = self.make_temp_file(content = 'link', dir = tmp_dir) file_symlink.symlink(d, l) self.assertEqual( d, file_check.check_dir(l) ) file_util.remove(tmp_dir)
def __init__(self, working_dir, arguments, root_dir=None, file_ignore_filename=None, check_git=False, git_commit=None, use_env_deps=True): self._num_iterations = 1 self._randomize = False self._raw_test_descriptions = [] file_check.check_dir(working_dir) if root_dir: file_check.check_dir(root_dir) working_dir = path.abspath(working_dir) self.log.log_d('argument_resolver: working_dir={}'.format(working_dir)) ignore = file_multi_ignore(file_ignore_filename) self.log.log_d('argument_resolver: ignore={}'.format(ignore)) arguments_just_files, arguments_just_filters = self._split_files_and_filters( working_dir, arguments) filter_patterns = self._make_filters_patterns(arguments_just_filters) unresolved_files, unresolved_dirs = self._split_files_and_dirs( working_dir, arguments_just_files) self.log.log_d('argument_resolver: arguments_just_files={}'.format( arguments_just_files)) self.log.log_d('argument_resolver: arguments_just_filters={}'.format( arguments_just_filters)) self.log.log_d( 'argument_resolver: filter_patterns={}'.format(filter_patterns)) self.log.log_d( 'argument_resolver: unresolved_files={}'.format(unresolved_files)) self.log.log_d( 'argument_resolver: unresolved_dirs={}'.format(unresolved_dirs)) if check_git: files = self._git_tracked_modified_files(unresolved_dirs + unresolved_files) elif git_commit: files = self._git_files_for_commit(git_commit) else: files = self._resolve_files_and_dirs(working_dir, arguments_just_files) self.log.log_d('argument_resolver: files={}'.format(files)) if not files: return if not root_dir: root_dir = self._find_root_dir(files) if not root_dir: raise RuntimeError('Failed to determine root dir.') self.root_dir = root_dir self.log.log_d('argument_resolver: root_dir={}'.format(root_dir)) self.config_env = config_env(root_dir) self.log.log_d('argument_resolver: config_env={}'.format(config_env)) self.all_files = ignore.filter_files(files) self.log.log_d('argument_resolver: self.all_files={}'.format( self.all_files)) pre_file_infos = file_info_list( [file_info(self.config_env, f, None) for f in self.all_files]) pre_file_infos += self._tests_for_many_files(pre_file_infos) pre_file_infos.remove_dups() pre_file_infos = pre_file_infos.filter_by_filenames(filter_patterns) pre_file_infos = pre_file_infos.filter_by_test_filename_only() self.inspect_map = pre_file_infos.make_inspect_map() self.log.log_d('argument_resolver: inspect_map={}'.format( self.inspect_map)) # FIXME: change to ignore_without_tests() file_infos = file_info_list() for f in pre_file_infos: if f.filename in self.inspect_map: file_infos.append( file_info(self.config_env, f.filename, self.inspect_map[f.filename])) # FIXME: change to filter_with_patterns_tests() self._raw_test_descriptions = file_filter.filter_files( file_infos, filter_patterns) if use_env_deps: self._env_dependencies = self.config_env.resolve_deps( self._config_names()) else: self._env_dependencies = [] self._env_dependencies_configs = [ self.config_env.config_for_name(name) for name in self._env_dependencies ] self.log.log_d('argument_resolver: env_dependencies_configs={}'.format( self._env_dependencies_configs))
def test_check_dir_success(self): d = self.make_temp_dir() self.assertEqual( d, file_check.check_dir(d) )
def check_dir(clazz, dirname): file_check.check_dir(dirname)