packages feed

streamly-0.9.0: test/test-runner/Main.hs

module Main where

import TestRunner (mainWith)
import BuildLib (Quickness(..))
import Control.Applicative ((<|>))
import Data.List (isInfixOf, isPrefixOf, isSuffixOf)
import Data.Map (Map)

import qualified Data.Map as Map
import Targets (targets)

rtsOpts :: Bool -> String -> String -> String
rtsOpts relaxMem exeName target =

    if relaxMem
    then "-K16M -M1024M"
    else "-K8M -M64M " <> targetSpecific

    where

    targetSpecific =
        case target of
            -- XXX Data.Array.* heap requirement increased for GHC-8.10
            "Data.Array.Unboxed" -> "-M128M"
            "Data.Array.Generic" -> "-M128M"
            "Prelude.Rate" -> "-M512M"
            -- For -O0 case writeChunks test fails, maybe we should have a
            -- separate flag for O0 case?
            "FileSystem.Handle" -> "-K16M"
            _ -> ""

main :: IO ()
main = mainWith targets rtsOpts