From 86cf889e7d746f68d65900f3b5f0d31b24aef7bf Mon Sep 17 00:00:00 2001 From: David Waern Date: Sat, 5 Nov 2011 20:37:29 +0100 Subject: Rename copy.hs -> accept.hs. --- tests/html-tests/README | 6 +++--- tests/html-tests/accept.hs | 30 ++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 3 deletions(-) create mode 100644 tests/html-tests/accept.hs diff --git a/tests/html-tests/README b/tests/html-tests/README index 644d0a71..9afb10e7 100644 --- a/tests/html-tests/README +++ b/tests/html-tests/README @@ -9,12 +9,12 @@ To add a new test: passes since there is no reference file to compare with. 3) To make a reference file from the output file, do - runhaskell copy.hs + runhaskell accept.hs Tips and tricks: -To copy all output files into reference files, run - runhaskell copy.hs +To "accept" all output files (copy them to reference files), run + runhaskell accept.hs You can run all tests despite failing tests, like so cabal test --test-option=all diff --git a/tests/html-tests/accept.hs b/tests/html-tests/accept.hs new file mode 100644 index 00000000..fa18fe9c --- /dev/null +++ b/tests/html-tests/accept.hs @@ -0,0 +1,30 @@ +import System.Cmd +import System.Environment +import System.FilePath +import System.Exit +import System.Directory +import Data.List +import Control.Monad +import Text.Regex + + +main = do + args <- getArgs + dir <- getCurrentDirectory + contents <- getDirectoryContents (dir "output") + if not $ null args + then + mapM copy [ "output" file | file <- contents, ".html" `isSuffixOf` file, takeBaseName file `elem` args ] + else + mapM copy [ "output" file | file <- contents, ".html" `isSuffixOf` file ] + + +copy file = do + let new = "tests" takeFileName file <.> ".ref" + print file + print new + contents <- readFile file + writeFile new (stripLinks contents) + + +stripLinks f = subRegex (mkRegexWithOpts "]*>" False False) f "" -- cgit v1.2.3