Compare commits

...

7 Commits

Author SHA1 Message Date
Michael Walker
50b1b2ad6e
Merge pull request #394 from barrucadu/ghc-9.4
Add GHC 9.4 to build matrix
2023-06-18 00:20:41 +01:00
Michael Walker
0fafe446ae
Add GHC 9.4 to build matrix
Looks like this isn't getting an LTS, so just stick a nightly here, and
relax the restriction on only using LTSes anyway.
2023-06-17 23:53:04 +01:00
Michael Walker
f14eb86615
Merge pull request #393 from barrucadu/mtl-and-transformers
Bump upper bounds of mtl & transformers, + new releases
2023-06-17 23:07:36 +01:00
Michael Walker
a33560db15
Fix test compilation errors with latest deps
I'm going to drop support for GHC 8.0, which'll mean I can also drop
this janky vendored tasty-hedgehog.
2023-06-17 22:42:19 +01:00
Michael Walker
691b496312
dejafu-2.4.0.5 2023-06-17 21:50:37 +01:00
Michael Walker
7db7a96c75
concurrency-1.11.0.3 2023-06-17 21:49:27 +01:00
Michael Walker
1b8b17da75
Bump mtl & transformers upper bounds 2023-06-17 21:47:51 +01:00
12 changed files with 69 additions and 29 deletions

View File

@ -53,6 +53,7 @@ jobs:
- lts-17.0 # ghc-8.10
- lts-19.0 # ghc-9.0
- lts-20.0 # ghc-9.2
- nightly-2023-01-01 # ghc-9.4
steps:
- uses: actions/checkout@v3

View File

@ -42,8 +42,8 @@ There are a few different packages under the Déjà Fu umbrella:
| | Version | Summary |
| - | ------- | ------- |
| [concurrency][h:conc] | 1.11.0.2 | Typeclasses, functions, and data types for concurrency and STM. |
| [dejafu][h:dejafu] | 2.4.0.4 | Systematic testing for Haskell concurrency. |
| [concurrency][h:conc] | 1.11.0.3 | Typeclasses, functions, and data types for concurrency and STM. |
| [dejafu][h:dejafu] | 2.4.0.5 | Systematic testing for Haskell concurrency. |
| [hunit-dejafu][h:hunit] | 2.0.0.6 | Deja Fu support for the HUnit test framework. |
| [tasty-dejafu][h:tasty] | 2.1.0.0 | Deja Fu support for the Tasty test framework. |

View File

@ -7,6 +7,19 @@ standard Haskell versioning scheme.
.. _PVP: https://pvp.haskell.org/
1.11.0.3 (2023-06-17)
---------------------
* Git: :tag:`concurrency-1.11.0.3`
* Hackage: :hackage:`concurrency-1.11.0.3`
Miscellaneous
~~~~~~~~~~~~~
* The upper bound on :hackage:`mtl` is <2.4.
* The upper bound on :hackage:`transformers` is <0.7.
1.11.0.2 (2021-08-15)
---------------------

View File

@ -2,7 +2,7 @@
-- documentation, see http://haskell.org/cabal/users-guide/
name: concurrency
version: 1.11.0.2
version: 1.11.0.3
synopsis: Typeclasses, functions, and data types for concurrency and STM.
description:
@ -32,7 +32,7 @@ source-repository head
source-repository this
type: git
location: https://github.com/barrucadu/dejafu.git
tag: concurrency-1.11.0.2
tag: concurrency-1.11.0.3
library
exposed-modules: Control.Monad.Conc.Class
@ -65,9 +65,9 @@ library
, atomic-primops >=0.8 && <0.9
, exceptions >=0.7 && <0.11
, monad-control >=1.0 && <1.1
, mtl >=2.2 && <2.3
, mtl >=2.2 && <2.4
, stm >=2.4 && <2.6
, transformers >=0.5 && <0.6
, transformers >=0.5 && <0.7
-- hs-source-dirs:
default-language: Haskell2010
ghc-options: -Wall

View File

@ -90,7 +90,10 @@ import System.IO.Unsafe (unsafePerformIO)
import qualified System.Random.MWC as Random
import Control.DeepSeq
import Control.Monad (replicateM)
import Control.Monad (join,
replicateM,
unless)
import Data.Foldable (forM_)
import qualified Data.Set as S
import Data.Word (Word64)

View File

@ -164,7 +164,7 @@ instance IsOption HedgehogShrinkRetries where
getReport :: Report a -> (TestCount, a)
#if MIN_VERSION_hedgehog(1,0,0)
getReport (Report testCount _ _ status) = (testCount, status)
getReport r = (reportTests r, reportStatus r)
#else
getReport (Report testCount _ status) = (testCount, status)
#endif
@ -198,25 +198,24 @@ reportOutput :: Bool
-> String
-> Report Result
-> IO String
reportOutput _ showReplay name report = do
reportOutput _ _ name report = do
let (_, status) = getReport report
-- TODO add details for tests run / discarded / shrunk
s <- renderResult' (Just (PropertyName name)) report
pure $ case status of
Failed fr -> do
let
size = failureSize fr
seed = failureSeed fr
replayStr =
if showReplay
then "\nUse '--hedgehog-replay \"" ++ show size ++ " " ++ show seed ++ "\"' to reproduce."
else ""
s ++ replayStr
Failed _ -> s
GaveUp -> "Gave up"
OK -> "OK"
propertyConfig' :: TestLimit -> DiscardLimit -> ShrinkLimit -> ShrinkRetries -> PropertyConfig
#if MIN_VERSION_hedgehog(1,0,2)
#if MIN_VERSION_hedgehog(1,2,0)
propertyConfig' testLimit discardLimit shrinkLimit shrinkRetries = PropertyConfig
{ propertyDiscardLimit = discardLimit
, propertyShrinkLimit = shrinkLimit
, propertyShrinkRetries = shrinkRetries
, propertyTerminationCriteria = NoConfidenceTermination testLimit
, propertySkip = Nothing
}
#elif MIN_VERSION_hedgehog(1,0,2)
propertyConfig' testLimit discardLimit shrinkLimit shrinkRetries = PropertyConfig
{ propertyDiscardLimit = discardLimit
, propertyShrinkLimit = shrinkLimit

View File

@ -7,6 +7,27 @@ standard Haskell versioning scheme.
.. _PVP: https://pvp.haskell.org/
unreleased
----------
Miscellaneous
~~~~~~~~~~~~~
* Fix GHC compatibility warning.
2.4.0.5 (2023-06-17)
--------------------
* Git: :tag:`dejafu-2.4.0.5`
* Hackage: :hackage:`dejafu-2.4.0.5`
Miscellaneous
~~~~~~~~~~~~~
* The upper bound on :hackage:`transformers` is <0.7.
2.4.0.4 (2022-08-22)
--------------------

View File

@ -2,6 +2,7 @@
{-# LANGUAGE ExistentialQuantification #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE TypeOperators #-}
-- |
-- Module : Test.DejaFu.Conc.Internal.Common

View File

@ -5,6 +5,7 @@
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE TypeOperators #-}
-- GHC doesn't need this to compile the module, but stylish-haskell
-- does to format it.

View File

@ -2,7 +2,7 @@
-- documentation, see http://haskell.org/cabal/users-guide/
name: dejafu
version: 2.4.0.4
version: 2.4.0.5
synopsis: A library for unit-testing concurrent programs.
description:
@ -33,7 +33,7 @@ source-repository head
source-repository this
type: git
location: https://github.com/barrucadu/dejafu.git
tag: dejafu-2.4.0.4
tag: dejafu-2.4.0.5
library
exposed-modules: Test.DejaFu
@ -67,7 +67,7 @@ library
, leancheck >=0.6 && <2
, profunctors >=4.0 && <6
, random >=1.0 && <1.3
, transformers >=0.5 && <0.6
, transformers >=0.5 && <0.7
-- hs-source-dirs:
default-language: Haskell2010
ghc-options: -Wall

View File

@ -27,8 +27,8 @@ There are a few different packages under the Déjà Fu umbrella:
.. csv-table::
:header: "Package", "Version", "Summary"
":hackage:`concurrency`", "1.11.0.2", "Typeclasses, functions, and data types for concurrency and STM"
":hackage:`dejafu`", "2.4.0.4", "Systematic testing for Haskell concurrency"
":hackage:`concurrency`", "1.11.0.3", "Typeclasses, functions, and data types for concurrency and STM"
":hackage:`dejafu`", "2.4.0.5", "Systematic testing for Haskell concurrency"
":hackage:`hunit-dejafu`", "2.0.0.6", "Déjà Fu support for the HUnit test framework"
":hackage:`tasty-dejafu`", "2.1.0.0", "Déjà Fu support for the tasty test framework"

View File

@ -2,12 +2,13 @@ Supported GHC Versions
======================
Déjà Fu supports the latest four GHC releases, at least. For testing
purposes, we use Stackage LTSes as a proxy for GHC versions. The
purposes, we use Stackage snapshots as a proxy for GHC versions. The
currently supported versions are:
.. csv-table::
:header: "GHC", "Stackage", "base"
"9.4", "Nightly 2023-01-01", "4.17.0.0"
"9.2", "LTS 20.0", "4.16.0.0"
"9.0", "LTS 19.0", "4.15.0.0"
"8.10", "LTS 17.0", "4.14.1.0"
@ -34,12 +35,12 @@ cause a **patch level version bump**.
3. Remove any unsupported versions from the table.
4. Make a patch release.
A new GHC release won't get a Stackage LTS for little while. When it
A new GHC release won't get a Stackage snapshot for little while. When it
does:
1. Add the LTS to the GitHub Actions configuration.
1. Add the snapshot to the GitHub Actions configuration.
2. Update the resolver in the stack.yaml.
3. Put the LTS in the table.
3. Put the snapshot in the table.
Dropping old GHC releases