blas-0.7: tests/Main.hs
import System.Environment
import Driver
import Vector
import STVector
import Matrix
import STMatrix
import HermMatrix
import TriMatrix
import Banded
import HermBanded
import TriBanded
main :: IO ()
main = do
args <- getArgs
let n = if null args then 100 else read (head args)
printf "\nRunnings tests for field `%s'\n" field
(results, passed) <- liftM unzip $
foldM ( \prev (name,subtests) -> do
printf "\n%s\n" name
printf "%s\n" $ replicate (length name) '-'
cur <- mapM (\(s,a) -> printf "%-30s: " s >> a n) subtests
return (prev ++ cur)
)
[]
tests
printf "\nPassed %d tests!\n\n" (sum passed)
when (not . and $ results) $ fail "\nNot all tests passed!"
where
tests = [ ("Vector" , tests_Vector)
, ("STVector" , tests_STVector)
, ("Matrix" , tests_Matrix)
, ("STMatrix" , tests_STMatrix)
, ("Herm Matrix" , tests_HermMatrix)
, ("Tri Matrix" , tests_TriMatrix)
, ("Banded" , tests_Banded)
, ("Herm Banded" , tests_HermBanded)
, ("Tri Banded" , tests_TriBanded)
]