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

Reply via email to