diff options
Diffstat (limited to 'tests/stdlib/tos.nim')
-rw-r--r-- | tests/stdlib/tos.nim | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/tests/stdlib/tos.nim b/tests/stdlib/tos.nim index ce0371c53..2ade042ae 100644 --- a/tests/stdlib/tos.nim +++ b/tests/stdlib/tos.nim @@ -344,6 +344,8 @@ block walkDirRec: removeDir("walkdir_test") +import std/sequtils + block: # walkDir doAssertRaises(OSError): for a in walkDir("nonexistent", checkDir = true): discard @@ -358,6 +360,21 @@ block: # walkDir doAssert k == pcLinkToDir removeDir("walkdir_test") + when defined(posix): + block walkDirRegular: + createDir("walkdir_test") + doAssert execShellCmd("mkfifo walkdir_test/fifo") == 0 + createSymlink("fifo", "walkdir_test/fifo_link") + let withSpecialFiles = toSeq(walkDir("walkdir_test", relative = true)) + doAssert (withSpecialFiles.len == 2 and + (pcFile, "fifo") in withSpecialFiles and + (pcLinkToFile, "fifo_link") in withSpecialFiles) + # now Unix special files are excluded from walkdir output: + let onlyRegularFiles = toSeq(walkDir("walkdir_test", relative = true, + onlyRegular = true)) + doAssert onlyRegularFiles.len == 0 + removeDir("walkdir_test") + block normalizedPath: doAssert normalizedPath("") == "" block relative: @@ -708,8 +725,6 @@ block: # isAdmin # In Azure on POSIX tests run as a normal user if isAzure and defined(posix): doAssert not isAdmin() -import std/sequtils - when doslikeFileSystem: import std/private/ntpath |