Skip to content

Commit a65842f

Browse files
committed
tests: custom Arbitrary BuildResult without Just mempty errorMessage
1 parent 0b96f55 commit a65842f

File tree

3 files changed

+14
-11
lines changed

3 files changed

+14
-11
lines changed

hnix-store-remote/tests/NixSerializerSpec.hs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import Test.Hspec (Expectation, Spec, describe, it, parallel, shouldBe)
1010
import Test.Hspec.QuickCheck (prop)
1111
import Test.QuickCheck (Gen, arbitrary, forAll, suchThat)
1212

13-
import qualified System.Nix.Build
1413
import qualified System.Nix.Hash
1514

1615
import System.Nix.Arbitrary ()
@@ -75,9 +74,7 @@ spec = parallel $ do
7574
prop "mapS" $ roundtripS (mapS (int @Int) byteString)
7675

7776
describe "Complex" $ do
78-
prop "BuildResult"
79-
$ forAll (arbitrary `suchThat` ((/= Just "") . System.Nix.Build.errorMessage))
80-
$ roundtripS buildResult
77+
prop "BuildResult" $ roundtripS buildResult
8178

8279
prop "StorePath" $
8380
roundtripSReader @StoreDir storePath

hnix-store-remote/tests/SerializeSpec.hs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import Test.QuickCheck (arbitrary, forAll, suchThat)
1313

1414
import qualified Data.Either
1515
import qualified Data.HashSet
16-
import qualified System.Nix.Build
1716

1817
import System.Nix.Arbitrary ()
1918
import System.Nix.Build (BuildMode(..), BuildResult, BuildStatus(..))
@@ -77,9 +76,7 @@ spec = parallel $ do
7776
prop "Text" $ roundtripS @Text
7877
prop "BuildMode" $ roundtripS @BuildMode
7978
prop "BuildStatus" $ roundtripS @BuildStatus
80-
it "BuildResult" $
81-
forAll (arbitrary `suchThat` ((/= Just "") . System.Nix.Build.errorMessage))
82-
$ roundtripS @BuildResult
79+
prop "BuildResult" $ roundtripS @BuildResult
8380

8481
prop "ProtoVersion" $ roundtripS @ProtoVersion
8582

hnix-store-tests/src/System/Nix/Arbitrary/Build.hs

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
module System.Nix.Arbitrary.Build where
55

66
import Data.Text.Arbitrary ()
7-
import Test.QuickCheck (Arbitrary(..))
7+
import Test.QuickCheck (Arbitrary(..), suchThat)
88
import Test.QuickCheck.Arbitrary.Generic (GenericArbitrary(..))
99
import System.Nix.Arbitrary.UTCTime ()
1010

@@ -16,5 +16,14 @@ deriving via GenericArbitrary BuildMode
1616
deriving via GenericArbitrary BuildStatus
1717
instance Arbitrary BuildStatus
1818

19-
deriving via GenericArbitrary BuildResult
20-
instance Arbitrary BuildResult
19+
instance Arbitrary BuildResult where
20+
arbitrary = do
21+
status <- arbitrary
22+
-- we encode empty errorMessage as Nothing
23+
errorMessage <- arbitrary `suchThat` (/= Just mempty)
24+
timesBuilt <- arbitrary
25+
isNonDeterministic <- arbitrary
26+
startTime <- arbitrary
27+
stopTime <- arbitrary
28+
29+
pure $ BuildResult{..}

0 commit comments

Comments
 (0)