Esempio n. 1
0
    def test_does_not_find_files_when_dot_is_omitted(self,
                                                     directory_structure):
        root, *_ = directory_structure

        files = list(fileutil.find_files_by_extension(str(root), "java"))

        assert not files
Esempio n. 2
0
    def test_works_when_no_files_found(self, directory_structure):
        root, *_ = directory_structure

        files = list(
            fileutil.find_files_by_extension(str(root), ".doesnotexist"))

        assert not files
Esempio n. 3
0
    def test_find_python_files(self, directory_structure):
        root, _, python_files, *r = directory_structure

        files = list(fileutil.find_files_by_extension(str(root), ".py"))

        filepaths = [str(file.resolve()) for file in files]

        assert sorted(filepaths) == sorted(python_files)
Esempio n. 4
0
    def test_find_java_files(self, directory_structure):
        root, java_files, *_ = directory_structure

        files = list(fileutil.find_files_by_extension(str(root), ".java"))

        filepaths = [str(file.resolve()) for file in files]

        assert sorted(filepaths) == sorted(java_files)
Esempio n. 5
0
    def test_find_java_py_md_files(self, directory_structure):
        """Try to find all three types at the same time."""
        root, java_files, python_files, md_files = directory_structure
        expected_files = list(
            itertools.chain(java_files, python_files, md_files))

        files = list(
            fileutil.find_files_by_extension(str(root), ".java", ".py", ".md"))

        filepaths = [str(file.resolve()) for file in files]

        assert sorted(filepaths) == sorted(expected_files)
Esempio n. 6
0
    def post_clone(self, repo: plug.StudentRepo,
                   api: plug.PlatformAPI) -> plug.Result:
        """Run ``javac`` on all .java files in the repo.

        Args:
            repo: A student repo.
            api: A platform API class instance.
        Returns:
            a Result specifying the outcome.
        """
        ignore = list(self.javac_ignore or [])
        java_files = [
            str(file)
            for file in fileutil.find_files_by_extension(repo.path, ".java")
            if file.name not in ignore
        ]

        if not java_files:
            msg = "no .java files found"
            status = plug.Status.WARNING
            return plug.Result(PLUGIN_NAME, status, msg)

        status, msg = self._javac(java_files)
        return plug.Result(PLUGIN_NAME, status, msg)
Esempio n. 7
0
 def test_throws_exception_when_no_extension_is_provided(
         self, directory_structure):
     root, *_ = directory_structure
     with pytest.raises(ValueError):
         list(fileutil.find_files_by_extension(str(root)))