@@ -18,12 +18,12 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
1818-}
1919import Text.Pandoc
2020import Text.Pandoc.MIME
21−import Control.Monad (when)
21+import Control.DeepSeq (force)
2222import Control.Monad.Except (throwError)
2323import qualified Text.Pandoc.UTF8 as UTF8
2424import qualified Data.ByteString as B
2525import qualified Data.Text as T
26−import Test.Tasty.Bench
26+import Gauge
2727import qualified Data.ByteString.Lazy as BL
2828import Data.Maybe (mapMaybe)
2929import Data.List (sortOn)
@@ -31,10 +31,10 @@ import Data.List (sortOn)
3131readerBench :: Pandoc
3232 -> T.Text
3333 -> Maybe Benchmark
34+readerBench _ name
35+ | name `elem` ["bibtex", "biblatex", "csljson"] = Nothing
3436readerBench doc name = either (const Nothing) Just $
3537 runPure $ do
36− when (name `elem` ["bibtex", "biblatex", "csljson"]) $
37− throwError $ PandocSomeError $ name <> " not supported for benchmark"
3838 (rdr, rexts) <- getReader name
3939 (wtr, wexts) <- getWriter name
4040 case (rdr, wtr) of
@@ -65,10 +65,10 @@ writerBench :: [(FilePath, MimeType, BL.ByteString)]
6565 -> Pandoc
6666 -> T.Text
6767 -> Maybe Benchmark
68+writerBench _ _ name
69+ | name `elem` ["bibtex", "biblatex", "csljson"] = Nothing
6870writerBench imgs doc name = either (const Nothing) Just $
6971 runPure $ do
70− when (name `elem` ["bibtex", "biblatex", "csljson"]) $
71− throwError $ PandocSomeError $ name <> " not supported for benchmark"
7272 (wtr, wexts) <- getWriter name
7373 case wtr of
7474 TextWriter writerFun ->
@@ -90,7 +90,7 @@ main :: IO ()
9090main = do
9191 inp <- UTF8.toText <$> B.readFile "test/testsuite.txt"
9292 let opts = def
93− let doc = either (error . show) id $ runPure $ readMarkdown opts inp
93+ let doc = either (error . show) force $ runPure $ readMarkdown opts inp
9494 defaultMain
9595 [ env getImages $ \imgs ->
9696 bgroup "writers" $ mapMaybe (writerBench imgs doc . fst)