packages feed

DocTest-0.0.0: Main.hs

module Main where

import System.Directory
import System.Environment
import System.FilePath
import Control.Exception(finally)
import Test.DocTest
import Test.DocTest.Parser
import Test.HUnit


main = do
	withTempDir "DocTestSandbox" run

run tmpdir = do
	args <- getArgs
	docTests <- mapM parseModule args
	tests <- mapM (doTest tmpdir) (concat docTests)
	runTestTT (TestList tests)

withTempDir :: FilePath -> (FilePath -> IO a) -> IO a
withTempDir name action = do
	tmpdir <- catch getTemporaryDirectory (\_ -> return ".")
	let path = combine tmpdir name
	--createDirectory path
	--finally (action path) (removeDirectoryRecursive path)
	createDirectoryIfMissing False path
	action path