Haskell tests require only runhaskell now.
catseye
13 years ago
63 | 63 |
""
|
64 | 64 |
|
65 | 65 |
prelude blocks =
|
66 | |
"module GeneratedFalderalTests where\n\
|
67 | |
\\n\
|
68 | |
\-- This file was automatically generated by Test.Falderal.Formatter.Haskell\n\
|
|
66 |
"-- This file was automatically generated by Test.Falderal.Formatter.Haskell\n\
|
69 | 67 |
\-- Edit at your own risk!\n\
|
70 | 68 |
\\n\
|
71 | 69 |
\import qualified Control.Exception as Exc\n\
|
72 | |
\\n" ++ (gatherImports blocks []) ++ "\
|
|
70 |
\" ++ (gatherImports blocks []) ++ "\
|
73 | 71 |
\\n\
|
74 | 72 |
\runFun testFun inputText = do\n\
|
75 | 73 |
\ Exc.catch (Exc.evaluate (Left $! (testFun inputText)))\n\
|
|
96 | 94 |
\ putStrLn (getText result)\n\
|
97 | 95 |
\ report rest\n\
|
98 | 96 |
\\n\
|
99 | |
\testModule = report [\n"
|
|
97 |
\main = report [\n"
|
100 | 98 |
|
101 | 99 |
postlude =
|
102 | 100 |
" (-1,id,\"\")\n\
|
36 | 36 |
determineVerbosity (Verbosity v:_) = (read v) :: Int
|
37 | 37 |
determineVerbosity (_:rest) = determineVerbosity rest
|
38 | 38 |
|
39 | |
determineHaskellRunCommand [] = "ghc -e testModule"
|
|
39 |
determineHaskellRunCommand [] = "runhaskell"
|
40 | 40 |
determineHaskellRunCommand (HaskellRunCommand s:_) = s
|
41 | 41 |
determineHaskellRunCommand (_:rest) = determineHaskellRunCommand rest
|
42 | 42 |
|
|
63 | 63 |
|
64 | 64 |
options :: [OptDescr Flag]
|
65 | 65 |
options = [
|
66 | |
Option ['h'] ["haskell-command"] (ReqArg HaskellRunCommand "CMD") "command to run Haskell tests (default: 'ghc -e testModule')",
|
|
66 |
Option ['h'] ["haskell-command"] (ReqArg HaskellRunCommand "CMD") "command to run Haskell tests (default: 'runhaskell')",
|
67 | 67 |
Option ['m'] ["messy"] (NoArg Messy) "messy: do not delete generated files (default: clean)",
|
68 | 68 |
Option ['r'] ["report-format"] (ReqArg ReportFormat "FORMAT") "success/failure report format (default: standard)",
|
69 | 69 |
Option ['s'] ["shell-command"] (ReqArg ShellRunCommand "CMD") "command to run shell scripts (default: 'sh')",
|
|
92 | 92 |
|
93 | 93 |
dispatch _ _ = putStrLn header
|
94 | 94 |
|
95 | |
--
|
96 | |
-- Requires ghc. Requires Test.Falderal in the package path
|
97 | |
-- (easiest way to ensure this is to install it as a Cabal package)
|
98 | |
-- TODO: require only runhaskell.
|
99 | |
--
|
100 | 95 |
testHaskell blocks flags =
|
101 | 96 |
runTests blocks "GeneratedFalderalTests.hs" "haskell" ((determineHaskellRunCommand flags) ++ " GeneratedFalderalTests.hs") (Messy `elem` flags)
|
102 | 97 |
|