1{-# LANGUAGE ConstraintKinds #-}
2{-# LANGUAGE FlexibleContexts #-}
3{-# LANGUAGE FlexibleInstances #-}
5{-# LANGUAGE MultiParamTypeClasses #-}
6{-# LANGUAGE RankNTypes #-}
8module Main (main) where
15import qualified Reflex.Bench.Focused as Focused
16import qualified Reflex.Test.Micro as Micro
18import System.Environment
23matchPrefixes :: [String] -> (String -> Bool)
24matchPrefixes [] = const True
25matchPrefixes args = \name -> any (`isPrefixOf` name) args
33 ["--list"] -> mapM_ putStrLn (fst <$> allTests) >> exitWith (ExitFailure 1)
34 _ -> case filter (matchPrefixes args . fst) allTests of
35 [] -> putStrLn "filter did not match any tests" >> exitWith (ExitFailure 1)
36 tests -> runTests tests
40 [ makeGroup "micro" Micro.testCases
41 , makeGroup "subscribing (100,40)" (Focused.subscribing 100 40)
42 , makeGroup "firing 1000" (Focused.firing 1000)
43 , makeGroup "merge 100" (Focused.merging 100)
44 , makeGroup "fan 50" (Focused.fans 50)
47 makeGroup name tests = first (\test -> intercalate "/" [name, test]) <$> tests
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list