Skip to content

Commit 8171e25

Browse files
mmhathasufell
authored andcommitted
Applied suggestions for ReadDirStream tests
1 parent 14c3a28 commit 8171e25

File tree

1 file changed

+13
-10
lines changed

1 file changed

+13
-10
lines changed

tests/ReadDirStream.hs

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,27 +17,30 @@ emptyDirStream = do
1717
cleanup
1818
createDirectory dir ownerReadMode
1919
dir_p <- openDirStream dir
20-
_ <- readDirStreamMaybe dir_p -- Just "."
21-
_ <- readDirStreamMaybe dir_p -- Just ".."
22-
ment <- readDirStreamMaybe dir_p
20+
entries <- readDirStreamEntries dir_p
2321
closeDirStream dir_p
2422
cleanup
25-
ment @?= Nothing
23+
entries @?= []
2624

2725
nonEmptyDirStream :: IO ()
2826
nonEmptyDirStream = do
2927
cleanup
3028
createDirectory dir ownerModes
3129
_ <- createFile (dir ++ "/file") ownerReadMode
3230
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
3832
closeDirStream dir_p
3933
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
4144

4245
cleanup :: IO ()
4346
cleanup = do

0 commit comments

Comments
 (0)