MCPcopy Create free account
hub / github.com/apache/arrow / TestGetFileInfoSelectorWithRecursion

Method TestGetFileInfoSelectorWithRecursion

cpp/src/arrow/filesystem/test_util.cc:875–939  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

873}
874
875void GenericFileSystemTest::TestGetFileInfoSelectorWithRecursion(FileSystem* fs) {
876 ASSERT_OK(fs->CreateDir("01/02/03/04"));
877 ASSERT_OK(fs->CreateDir("AA"));
878 CreateFile(fs, "00.file", "00");
879 CreateFile(fs, "01/01.file", "01");
880 CreateFile(fs, "AA/AA.file", "aa");
881 CreateFile(fs, "01/02/02.file", "02");
882 CreateFile(fs, "01/02/03/03.file", "03");
883 CreateFile(fs, "01/02/03/04/04.file", "04");
884
885 std::vector<FileInfo> infos;
886 FileSelector s;
887
888 s.base_dir = "";
889 s.recursive = false;
890 GetSortedInfos(fs, s, infos);
891 EXPECT_THAT(infos, ElementsAre(File("00.file"), Dir("01"), Dir("AA")));
892
893 // recursive should prevail on max_recursion
894 s.max_recursion = 9000;
895 GetSortedInfos(fs, s, infos);
896 EXPECT_THAT(infos, ElementsAre(File("00.file"), Dir("01"), Dir("AA")));
897
898 // recursive but no traversal
899 s.recursive = true;
900 s.max_recursion = 0;
901 GetSortedInfos(fs, s, infos);
902 EXPECT_THAT(infos, ElementsAre(File("00.file"), Dir("01"), Dir("AA")));
903
904 s.recursive = true;
905 s.max_recursion = 1;
906 GetSortedInfos(fs, s, infos);
907 EXPECT_THAT(infos, ElementsAre(File("00.file"), Dir("01"), File("01/01.file"),
908 Dir("01/02"), Dir("AA"), File("AA/AA.file")));
909
910 s.recursive = true;
911 s.max_recursion = 2;
912 GetSortedInfos(fs, s, infos);
913 EXPECT_THAT(infos, ElementsAre(File("00.file"), Dir("01"), File("01/01.file"),
914 Dir("01/02"), File("01/02/02.file"), Dir("01/02/03"),
915 Dir("AA"), File("AA/AA.file")));
916
917 s.base_dir = "01";
918 s.recursive = false;
919 GetSortedInfos(fs, s, infos);
920 EXPECT_THAT(infos, ElementsAre(File("01/01.file"), Dir("01/02")));
921
922 s.base_dir = "01";
923 s.recursive = true;
924 s.max_recursion = 1;
925 GetSortedInfos(fs, s, infos);
926 EXPECT_THAT(infos, ElementsAre(File("01/01.file"), Dir("01/02"), File("01/02/02.file"),
927 Dir("01/02/03")));
928
929 // All-in
930 s.base_dir = "";
931 s.recursive = true;
932 s.max_recursion = INT32_MAX;

Callers

nothing calls this directly

Calls 5

CreateFileFunction · 0.85
GetSortedInfosFunction · 0.85
DirFunction · 0.85
FileClass · 0.70
CreateDirMethod · 0.45

Tested by

no test coverage detected