Example #1
0
 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)
Example #2
0
 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)
Example #3
0
 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)
Example #4
0
    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))
Example #5
0
 def test_check_dir_success(self):
   d = self.make_temp_dir()
   self.assertEqual( d, file_check.check_dir(d) )
Example #6
0
 def check_dir(clazz, dirname):
     file_check.check_dir(dirname)