From 93c49a28652abe12657b28b559c9780e48b49cc7 Mon Sep 17 00:00:00 2001
From: John MacFarlane <jgm@berkeley.edu>
Date: Tue, 14 Mar 2017 23:39:28 +0100
Subject: [PATCH] Command tests: just findPandoc once.

---
 test/Tests/Command.hs | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/test/Tests/Command.hs b/test/Tests/Command.hs
index b15d95fa7..054ceb50d 100644
--- a/test/Tests/Command.hs
+++ b/test/Tests/Command.hs
@@ -50,9 +50,10 @@ runTest testname cmd inp norm = testCase testname $ do
 
 tests :: TestTree
 tests = unsafePerformIO $ do
+  pandocpath <- findPandoc
   files <- filter (".md" `isSuffixOf`) <$>
                getDirectoryContents "command"
-  let cmds = map extractCommandTest files
+  let cmds = map (extractCommandTest pandocpath) files
   return $ testGroup "Command:" cmds
 
 isCodeBlock :: Block -> Bool
@@ -80,9 +81,8 @@ runCommandTest pandocpath (num, code) =
       shcmd = trimr $ takeDirectory pandocpath </> cmd
   in  runTest ("#" ++ show num) shcmd input norm
 
-extractCommandTest :: FilePath -> TestTree
-extractCommandTest fp = unsafePerformIO $ do
-  pandocpath <- findPandoc
+extractCommandTest :: FilePath -> FilePath -> TestTree
+extractCommandTest pandocpath fp = unsafePerformIO $ do
   contents <- UTF8.readFile ("command" </> fp)
   Pandoc _ blocks <- runIOorExplode (readMarkdown
                         def{ readerExtensions = pandocExtensions } contents)