From 7b68c67f543a1df75e95210cb741c54dad481d81 Mon Sep 17 00:00:00 2001 From: Tom Smeding Date: Sun, 26 Jul 2026 20:47:45 +0100 Subject: Make 'test count' entry point slightly more useful --- src/Main.hs | 14 ++++++-------- 1 file 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 -- cgit v1.3.1