mirror of
https://github.com/barrucadu/dejafu.git
synced 2024-09-11 06:25:45 +03:00
Compare commits
7 Commits
374297be76
...
50b1b2ad6e
Author | SHA1 | Date | |
---|---|---|---|
|
50b1b2ad6e | ||
|
0fafe446ae | ||
|
f14eb86615 | ||
|
a33560db15 | ||
|
691b496312 | ||
|
7db7a96c75 | ||
|
1b8b17da75 |
1
.github/workflows/ci.yaml
vendored
1
.github/workflows/ci.yaml
vendored
@ -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
|
||||
|
@ -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. |
|
||||
|
||||
|
@ -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)
|
||||
---------------------
|
||||
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
--------------------
|
||||
|
||||
|
@ -2,6 +2,7 @@
|
||||
{-# LANGUAGE ExistentialQuantification #-}
|
||||
{-# LANGUAGE GADTs #-}
|
||||
{-# LANGUAGE RankNTypes #-}
|
||||
{-# LANGUAGE TypeOperators #-}
|
||||
|
||||
-- |
|
||||
-- Module : Test.DejaFu.Conc.Internal.Common
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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"
|
||||
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user