diff options
author | Simon Hengel <sol@typeful.net> | 2013-09-03 19:14:08 +0200 |
---|---|---|
committer | Austin Seipp <austin@well-typed.com> | 2014-01-12 14:48:35 -0600 |
commit | 27876dc77ff259e27a71ea6f30662a668adfd134 (patch) | |
tree | b8f1784867200ae07a136078dfa14b50271a4476 /html-test/run.lhs | |
parent | 64eb7dbc465ffea7f7e76f9d4c3a334380cce8ac (diff) |
Don't append newline to parseString input
We also check that we have parsed everything with endOfInput.
Diffstat (limited to 'html-test/run.lhs')
-rwxr-xr-x | html-test/run.lhs | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/html-test/run.lhs b/html-test/run.lhs index 1ce3e797..e4c83da6 100755 --- a/html-test/run.lhs +++ b/html-test/run.lhs @@ -15,12 +15,11 @@ import Distribution.Simple.Program import Distribution.Simple.Utils import Distribution.Verbosity import System.IO -import System.Cmd import System.Directory import System.Environment import System.Exit import System.FilePath -import System.Process (ProcessHandle, runProcess, waitForProcess) +import System.Process (ProcessHandle, runProcess, waitForProcess, system) packageRoot, dataDir, haddockPath, baseDir, testDir, outDir :: FilePath @@ -88,7 +87,7 @@ test = do putStrLn "Running tests..." handle <- runProcess haddockPath - (["-w", "-o", outDir, "-h", "--pretty-html", "--optghc=-fglasgow-exts" + (["-w", "-o", outDir, "-h", "--pretty-html" , "--optghc=-w", base, process, ghcprim] ++ opts ++ mods') Nothing env Nothing Nothing Nothing @@ -143,12 +142,26 @@ stripLinks :: String -> String stripLinks str = let prefix = "<a href=\"" in case stripPrefix prefix str of - Just str' -> prefix ++ stripLinks (dropWhile (/= '"') str') + Just str' -> case dropWhile (/= '>') (dropWhile (/= '"') str') of + [] -> [] + x:xs -> stripLinks (stripHrefEnd xs) Nothing -> case str of [] -> [] x : xs -> x : stripLinks xs +stripHrefEnd :: String -> String +stripHrefEnd s = + let pref = "</a" in + case stripPrefix pref s of + Just str' -> case dropWhile (/= '>') str' of + [] -> [] + x:xs -> xs + Nothing -> + case s of + [] -> [] + x : xs -> x : stripHrefEnd xs + programOnPath :: FilePath -> IO Bool programOnPath p = do result <- findProgramLocation silent p |