summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTom Smeding <tom@tomsmeding.com>2026-07-26 21:47:45 +0200
committerTom Smeding <tom@tomsmeding.com>2026-07-26 21:47:45 +0200
commit7b68c67f543a1df75e95210cb741c54dad481d81 (patch)
tree2d61b01d90a0b9c4de0dacc827985bbe88e26e10 /src
parent9082745e03a06b5471aa23b7a84bb2c4d8b4f304 (diff)
Make 'test count' entry point slightly more useful
Diffstat (limited to 'src')
-rw-r--r--src/Main.hs14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/Main.hs b/src/Main.hs
index e592fce..1bd6496 100644
--- a/src/Main.hs
+++ b/src/Main.hs
@@ -4,7 +4,7 @@
module Main (main) where
import Control.Applicative ((<|>))
-import Control.Monad (guard, forM_)
+import Control.Monad (guard, forM_, forM)
import Data.ByteString (ByteString)
import Data.ByteString qualified as BS
import Data.ByteString.Char8 qualified as BS8
@@ -330,16 +330,14 @@ testCount :: FilePath -> IO ()
testCount confpath = do
config <- enrichConfig <$> readConfig confpath
forM_ (econfChannels config) $ \(Channel nw ch) -> do
- -- forM_ [Channel "liberachat" "#haskell"] $ \(Channel nw ch) -> do
let dir = confLogsDir config </> T.unpack nw </> T.unpack ch
files <- listDirectory dir
- forM_ files $ \file -> do
+ count <- fmap sum . forM files $ \file -> do
evs <- parseLog <$> BS.readFile (dir </> file)
- forM_ evs $ \case
- (_, Talk _ _msg) -> return ()
- (_, Notice n msg) -> error (show (n, msg))
- (_, Act _ _msg) -> return ()
- _ -> return ()
+ fmap sum . forM evs $ \case
+ (_, Notice _ _) -> return (1 :: Int)
+ _ -> return 0
+ print count
main :: IO ()
main = getArgs >>= \case