1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
import Data.Proxy (Proxy(..))
import Test.Tasty (askOption)
import Test.Tasty.Bench (bgroup, benchIngredients)
import Test.Tasty.Ingredients.Basic (includingOptions)
import Test.Tasty.Options (OptionDescription(..))
import Test.Tasty.Runners (TestTree, defaultMainWithIngredients)
import Unicode.Char.Bench (CharRange(..))
import qualified Unicode.Char.CaseBench as C
import qualified Unicode.Char.Case.CompatBench as CC
import qualified Unicode.Char.GeneralBench as G
import qualified Unicode.Char.General.BlocksBench as B
import qualified Unicode.Char.General.CompatBench as GC
import qualified Unicode.Char.IdentifiersBench as I
import qualified Unicode.Char.NormalizationBench as N
import qualified Unicode.Char.NumericBench as Num
import qualified Unicode.Char.Numeric.CompatBench as NumCompat
main :: IO ()
main = do
let customOpts = [Option (Proxy :: Proxy CharRange)]
ingredients = includingOptions customOpts : benchIngredients
defaultMainWithIngredients ingredients (askOption benchmarks)
benchmarks :: CharRange -> TestTree
benchmarks charRange = bgroup "All"
[ C.benchmarks charRange
, CC.benchmarks charRange
, G.benchmarks charRange
, B.benchmarks charRange
, GC.benchmarks charRange
, I.benchmarks charRange
, N.benchmarks charRange
, Num.benchmarks charRange
, NumCompat.benchmarks charRange
]
|