diff options
author | John MacFarlane <jgm@berkeley.edu> | 2017-02-04 21:54:41 +0100 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2017-02-04 21:56:32 +0100 |
commit | a435422d0fb08832ecd8951bb42684aed27a7cb7 (patch) | |
tree | 9d1c23e17d0113541cd90a4a7acd6006559d8097 /test/Tests/Command.hs | |
parent | ce9ec679707fa1f199794a29dff200ac66d9f310 (diff) |
Consolidated some common functions in Tests.Helper.
Diffstat (limited to 'test/Tests/Command.hs')
-rw-r--r-- | test/Tests/Command.hs | 40 |
1 files changed, 1 insertions, 39 deletions
diff --git a/test/Tests/Command.hs b/test/Tests/Command.hs index 3ea8e6cd4..ab0402b4d 100644 --- a/test/Tests/Command.hs +++ b/test/Tests/Command.hs @@ -1,10 +1,10 @@ module Tests.Command (findPandoc, runTest, tests) where +import Tests.Helpers import Test.Framework import Test.Framework.Providers.HUnit import Test.HUnit ( assertBool ) -import System.Environment.Executable (getExecutablePath) import System.FilePath ( (</>), takeDirectory, splitDirectories, joinPath ) import System.Process @@ -14,47 +14,9 @@ import Text.Pandoc import Data.Algorithm.Diff import Prelude hiding ( readFile ) import qualified Text.Pandoc.UTF8 as UTF8 -import Text.Printf import Data.List (isSuffixOf) import Text.Pandoc.Shared (trimr) -data TestResult = TestPassed - | TestError ExitCode - | TestFailed String FilePath [Diff String] - deriving (Eq) - -instance Show TestResult where - show TestPassed = "PASSED" - show (TestError ec) = "ERROR " ++ show ec - show (TestFailed cmd file d) = '\n' : dash ++ - "\n--- " ++ file ++ - "\n+++ " ++ cmd ++ "\n" ++ showDiff (1,1) d ++ - dash - where dash = replicate 72 '-' - -showDiff :: (Int,Int) -> [Diff String] -> String -showDiff _ [] = "" -showDiff (l,r) (First ln : ds) = - printf "+%4d " l ++ ln ++ "\n" ++ showDiff (l+1,r) ds -showDiff (l,r) (Second ln : ds) = - printf "-%4d " r ++ ln ++ "\n" ++ showDiff (l,r+1) ds -showDiff (l,r) (Both _ _ : ds) = - showDiff (l+1,r+1) ds - --- | Find pandoc executable relative to test-pandoc --- First, try in same directory (e.g. if both in ~/.cabal/bin) --- Second, try ../pandoc (e.g. if in dist/XXX/build/test-pandoc) -findPandoc :: IO FilePath -findPandoc = do - testExePath <- getExecutablePath - let testExeDir = takeDirectory testExePath - found <- doesFileExist (testExeDir </> "pandoc") - return $ if found - then testExeDir </> "pandoc" - else case splitDirectories testExeDir of - [] -> error "test-pandoc: empty testExeDir" - xs -> joinPath (init xs) </> "pandoc" </> "pandoc" - -- | Run a test with normalize function, return True if test passed. runTest :: String -- ^ Title of test -> String -- ^ Shell command |