File: Main.hs

package info (click to toggle)
haskell-unicode-data 0.6.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 1,004 kB
  • sloc: haskell: 26,075; makefile: 3
file content (36 lines) | stat: -rw-r--r-- 1,344 bytes parent folder | download
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
  ]