lens-regex-0.1.1: tests/doctests.hs
module Main where
import Test.DocTest
import System.Directory
import System.FilePath
import Data.List
import Control.Monad
import Control.Applicative
main :: IO ()
main = do
sources <- findSources
doctest sources
findSources :: IO [FilePath]
findSources = filter (isSuffixOf ".hs") <$> go "src"
where
go dir = do
(dirs, files) <- listFiles dir
(files ++) . concat <$> mapM go dirs
listFiles dir = do
entries <- map (dir </>) . filter (`notElem` [".", ".."]) <$> getDirectoryContents dir
(,) <$> filterM doesDirectoryExist entries <*> filterM doesFileExist entries