Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ghc-hspec-core for openSUSE:Factory checked in at 2021-08-25 20:57:29 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-hspec-core (Old) and /work/SRC/openSUSE:Factory/.ghc-hspec-core.new.1899 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-hspec-core" Wed Aug 25 20:57:29 2021 rev:22 rq:912748 version:2.8.3 Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-hspec-core/ghc-hspec-core.changes 2021-06-01 10:40:30.237123811 +0200 +++ /work/SRC/openSUSE:Factory/.ghc-hspec-core.new.1899/ghc-hspec-core.changes 2021-08-25 20:58:45.509117847 +0200 @@ -1,0 +2,6 @@ +Fri Aug 13 09:52:39 UTC 2021 - [email protected] + +- Update hspec-core to version 2.8.3. + Upstream does not provide a change log file. + +------------------------------------------------------------------- Old: ---- hspec-core-2.8.2.tar.gz New: ---- hspec-core-2.8.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-hspec-core.spec ++++++ --- /var/tmp/diff_new_pack.FPwFD7/_old 2021-08-25 20:58:45.953117264 +0200 +++ /var/tmp/diff_new_pack.FPwFD7/_new 2021-08-25 20:58:45.957117258 +0200 @@ -19,7 +19,7 @@ %global pkg_name hspec-core %bcond_with tests Name: ghc-%{pkg_name} -Version: 2.8.2 +Version: 2.8.3 Release: 0 Summary: A Testing Framework for Haskell License: MIT ++++++ hspec-core-2.8.2.tar.gz -> hspec-core-2.8.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hspec-core-2.8.2/hspec-core.cabal new/hspec-core-2.8.3/hspec-core.cabal --- old/hspec-core-2.8.2/hspec-core.cabal 2001-09-09 03:46:40.000000000 +0200 +++ new/hspec-core-2.8.3/hspec-core.cabal 2001-09-09 03:46:40.000000000 +0200 @@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack name: hspec-core -version: 2.8.2 +version: 2.8.3 license: MIT license-file: LICENSE copyright: (c) 2011-2021 Simon Hengel, @@ -35,7 +35,7 @@ build-depends: HUnit ==1.6.* , QuickCheck >=2.13.1 - , ansi-terminal >=0.5 + , ansi-terminal >=0.6.2 , array , base >=4.5.0.0 && <5 , call-stack @@ -97,7 +97,7 @@ build-depends: HUnit ==1.6.* , QuickCheck >=2.14 - , ansi-terminal >=0.5 + , ansi-terminal >=0.6.2 , array , base >=4.5.0.0 && <5 , call-stack @@ -160,6 +160,7 @@ Test.Hspec.Core.Example.LocationSpec Test.Hspec.Core.ExampleSpec Test.Hspec.Core.FailureReportSpec + Test.Hspec.Core.FormatSpec Test.Hspec.Core.Formatters.DiffSpec Test.Hspec.Core.Formatters.InternalSpec Test.Hspec.Core.Formatters.V1Spec diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hspec-core-2.8.2/src/Test/Hspec/Core/Format.hs new/hspec-core-2.8.3/src/Test/Hspec/Core/Format.hs --- old/hspec-core-2.8.2/src/Test/Hspec/Core/Format.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/hspec-core-2.8.3/src/Test/Hspec/Core/Format.hs 2001-09-09 03:46:40.000000000 +0200 @@ -19,8 +19,10 @@ import Prelude () import Test.Hspec.Core.Compat +import Control.Exception import Control.Concurrent import Control.Concurrent.Async (async) +import qualified Control.Concurrent.Async as Async import Control.Monad.IO.Class import Test.Hspec.Core.Spec (Progress, Location(..)) @@ -63,6 +65,8 @@ , formatConfigItemCount :: Int } deriving (Eq, Show) +data Signal = Ok | NotOk SomeException + monadic :: MonadIO m => (m () -> IO ()) -> (Event -> m ()) -> IO Format monadic run format = do mvar <- newEmptyMVar @@ -75,10 +79,10 @@ takeEvent :: MonadIO m => m Event takeEvent = liftIO $ takeMVar mvar - signal :: MonadIO m => m () - signal = liftIO $ putMVar done () + signal :: MonadIO m => Signal -> m () + signal = liftIO . putMVar done - wait :: IO () + wait :: IO Signal wait = takeMVar done go = do @@ -87,13 +91,21 @@ case event of Done {} -> return () _ -> do - signal + signal Ok go - _ <- async $ do - run go - signal + t <- async $ do + (run go >> signal Ok) `catch` (signal . NotOk) return $ \ event -> do - putEvent event - wait + running <- Async.poll t + case running of + Just _ -> return () + Nothing -> do + putEvent event + r <- wait + case r of + Ok -> return () + NotOk err -> do + Async.wait t + throwIO err diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hspec-core-2.8.2/src/Test/Hspec/Core/Runner.hs new/hspec-core-2.8.3/src/Test/Hspec/Core/Runner.hs --- old/hspec-core-2.8.2/src/Test/Hspec/Core/Runner.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/hspec-core-2.8.3/src/Test/Hspec/Core/Runner.hs 2001-09-09 03:46:40.000000000 +0200 @@ -45,6 +45,7 @@ import System.Random import Control.Monad.ST import Data.STRef +import System.Console.ANSI (hSupportsANSI) import System.Console.ANSI (hHideCursor, hShowCursor) import qualified Test.QuickCheck as QC @@ -211,7 +212,7 @@ Nothing -> getDefaultConcurrentJobs Just n -> return n - useColor <- colorOutputSupported (configColorMode config) (hIsTerminalDevice stdout) + useColor <- colorOutputSupported (configColorMode config) (hSupportsANSI stdout) results <- withHiddenCursor useColor stdout $ do let @@ -286,27 +287,13 @@ colorOutputSupported :: ColorMode -> IO Bool -> IO Bool colorOutputSupported mode isTerminalDevice = case mode of - ColorAuto -> (not <$> noColor ||^ isDumb) &&^ isTerminalDevice + ColorAuto -> (&&) <$> (not <$> noColor) <*> isTerminalDevice ColorNever -> return False ColorAlways -> return True noColor :: IO Bool noColor = lookupEnv "NO_COLOR" <&> (/= Nothing) -isDumb :: IO Bool -isDumb = lookupEnv "TERM" <&> (== Just "dumb") - -(||^) :: IO Bool -> IO Bool -> IO Bool -(||^) a b = ifM a (pure True) b - -(&&^) :: IO Bool -> IO Bool -> IO Bool -(&&^) a b = ifM a b (pure False) - -ifM :: IO Bool -> IO a -> IO a -> IO a -ifM action true false = do - bool <- action - if bool then true else false - rerunAll :: Config -> Maybe FailureReport -> Summary -> Bool rerunAll _ Nothing _ = False rerunAll config (Just oldFailureReport) summary = diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hspec-core-2.8.2/test/Test/Hspec/Core/FormatSpec.hs new/hspec-core-2.8.3/test/Test/Hspec/Core/FormatSpec.hs --- old/hspec-core-2.8.2/test/Test/Hspec/Core/FormatSpec.hs 1970-01-01 01:00:00.000000000 +0100 +++ new/hspec-core-2.8.3/test/Test/Hspec/Core/FormatSpec.hs 2001-09-09 03:46:40.000000000 +0200 @@ -0,0 +1,21 @@ +module Test.Hspec.Core.FormatSpec (spec) where + +import Prelude () +import Helper + +import Control.Exception + +import Test.Hspec.Core.Format + +spec :: Spec +spec = do + describe "monadic" $ do + context "on exception" $ do + it "propagates" $ do + format <- monadic id (\ _ -> throwIO DivideByZero) + format (Done []) `shouldThrow` (== DivideByZero) + + it "does not hang" $ do + format <- monadic id (\ _ -> throwIO DivideByZero) + format (Done []) `shouldThrow` (== DivideByZero) + format (Done []) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hspec-core-2.8.2/test/Test/Hspec/Core/RunnerSpec.hs new/hspec-core-2.8.3/test/Test/Hspec/Core/RunnerSpec.hs --- old/hspec-core-2.8.2/test/Test/Hspec/Core/RunnerSpec.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/hspec-core-2.8.3/test/Test/Hspec/Core/RunnerSpec.hs 2001-09-09 03:46:40.000000000 +0200 @@ -586,11 +586,6 @@ withEnvironment [] $ do H.colorOutputSupported H.ColorAuto isTerminalDevice `shouldReturn` True - context "when TERM=dumb" $ do - it "returns False" $ do - withEnvironment [("TERM", "dumb")] $ do - H.colorOutputSupported H.ColorAuto isTerminalDevice `shouldReturn` False - context "when NO_COLOR is set" $ do it "returns False" $ do withEnvironment [("NO_COLOR", "yes")] $ do diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hspec-core-2.8.2/version.yaml new/hspec-core-2.8.3/version.yaml --- old/hspec-core-2.8.2/version.yaml 2001-09-09 03:46:40.000000000 +0200 +++ new/hspec-core-2.8.3/version.yaml 2001-09-09 03:46:40.000000000 +0200 @@ -1 +1 @@ -&version 2.8.2 +&version 2.8.3
