From 6e5e6942f6ab4eacc7f55dc0c3427edb61789819 Mon Sep 17 00:00:00 2001
From: Andre Maroneze <andre.maroneze@cea.fr>
Date: Thu, 2 Dec 2021 15:56:35 +0100
Subject: [PATCH] [Ptests] ignore hidden files when given a directory

---
 ptests/ptests.ml | 24 ++++++++++++++----------
 1 file changed, 14 insertions(+), 10 deletions(-)

diff --git a/ptests/ptests.ml b/ptests/ptests.ml
index 53fa1532520..22e2941c104 100644
--- a/ptests/ptests.ml
+++ b/ptests/ptests.ml
@@ -2031,18 +2031,22 @@ let () =
        else begin
          if not (List.mem suite exclude_suite) then begin
            let dirname = SubDir.get directory in
-           let dir_files = Sys.readdir dirname in
+           let dir_files = Array.to_list (Sys.readdir dirname) in
+           (* ignore hidden files (starting with '.' *)
+           let dir_files =
+             List.filter (fun n -> String.get n 0 <> '.') dir_files
+           in
            if !verbosity >= 2 then
              lock_printf "%% - Look at %d entries of the directory %S ...@."
-               (Array.length dir_files) dirname;
-           for i = 0 to pred (Array.length dir_files) do
-             let file = dir_files.(i) in
-             assert (Filename.is_relative file);
-             if test_pattern dir_config file &&
-                (not (List.mem (SubDir.make_file directory file) exclude_file))
-             then
-               Queue.push (file, directory, dir_config) files;
-           done
+               (List.length dir_files) dirname;
+           List.iter
+             (fun file ->
+                assert (Filename.is_relative file);
+                if test_pattern dir_config file &&
+                   (not (List.mem (SubDir.make_file directory file) exclude_file))
+                then
+                  Queue.push (file, directory, dir_config) files;
+             ) dir_files
          end
        end)
     suites
-- 
GitLab