File tree Expand file tree Collapse file tree 1 file changed +13
-10
lines changed Expand file tree Collapse file tree 1 file changed +13
-10
lines changed Original file line number Diff line number Diff line change @@ -17,27 +17,30 @@ emptyDirStream = do
17
17
cleanup
18
18
createDirectory dir ownerReadMode
19
19
dir_p <- openDirStream dir
20
- _ <- readDirStreamMaybe dir_p -- Just "."
21
- _ <- readDirStreamMaybe dir_p -- Just ".."
22
- ment <- readDirStreamMaybe dir_p
20
+ entries <- readDirStreamEntries dir_p
23
21
closeDirStream dir_p
24
22
cleanup
25
- ment @?= Nothing
23
+ entries @?= []
26
24
27
25
nonEmptyDirStream :: IO ()
28
26
nonEmptyDirStream = do
29
27
cleanup
30
28
createDirectory dir ownerModes
31
29
_ <- createFile (dir ++ " /file" ) ownerReadMode
32
30
dir_p <- openDirStream dir
33
- -- We read three entries here since "." and "." are included in the dirstream
34
- one <- readDirStreamMaybe dir_p
35
- two <- readDirStreamMaybe dir_p
36
- three <- readDirStreamMaybe dir_p
37
- let ment = maximum [one, two, three]
31
+ entries <- readDirStreamEntries dir_p
38
32
closeDirStream dir_p
39
33
cleanup
40
- ment @?= Just " file"
34
+ entries @?= [" file" ]
35
+
36
+ readDirStreamEntries :: DirStream -> IO [FilePath ]
37
+ readDirStreamEntries dir_p = do
38
+ ment <- readDirStreamMaybe dir_p
39
+ case ment of
40
+ Nothing -> return []
41
+ Just " ." -> readDirStreamEntries dir_p
42
+ Just " .." -> readDirStreamEntries dir_p
43
+ Just ent -> (ent : ) <$> readDirStreamEntries dir_p
41
44
42
45
cleanup :: IO ()
43
46
cleanup = do
You can’t perform that action at this time.
0 commit comments