@@ -4,21 +4,16 @@ module NixSerializerSpec (spec) where
44
55import Crypto.Hash (MD5 , SHA1 , SHA256 , SHA512 )
66import Data.Dependent.Sum (DSum ((:=>) ))
7- import Data.Fixed (Uni )
8- import Data.Time (NominalDiffTime )
7+ import Data.Time (UTCTime )
98import Data.Word (Word64 )
109import Test.Hspec (Expectation , Spec , describe , it , parallel , shouldBe )
1110import Test.Hspec.QuickCheck (prop )
1211import Test.QuickCheck (Gen , arbitrary , forAll , suchThat )
13- import Test.QuickCheck.Instances ()
1412
15- import qualified Data.Time.Clock.POSIX
16- import qualified Data.Serializer
1713import qualified System.Nix.Build
1814import qualified System.Nix.Hash
1915
2016import System.Nix.Arbitrary ()
21- import System.Nix.Build (BuildResult )
2217import System.Nix.Derivation (Derivation (inputDrvs ))
2318import System.Nix.StorePath (StoreDir )
2419import System.Nix.StorePath.Metadata (Metadata (.. ))
@@ -71,19 +66,7 @@ spec = parallel $ do
7166 prop " Maybe Text"
7267 $ forAll (arbitrary `suchThat` (/= Just " " ))
7368 $ roundtripS maybeText
74- prop " UTCTime" $ do
75- let
76- -- scale to seconds and back
77- toSeconds :: Int -> NominalDiffTime
78- toSeconds n = realToFrac (toEnum n :: Uni )
79- fromSeconds :: NominalDiffTime -> Int
80- fromSeconds = (fromEnum :: Uni -> Int ) . realToFrac
81-
82- roundtripS @ Int @ () $
83- Data.Serializer. mapIsoSerializer
84- (fromSeconds . Data.Time.Clock.POSIX. utcTimeToPOSIXSeconds)
85- (Data.Time.Clock.POSIX. posixSecondsToUTCTime . toSeconds)
86- time
69+ prop " UTCTime" $ roundtripS @ UTCTime @ () time
8770
8871 describe " Combinators" $ do
8972 prop " list" $ roundtripS @ [Int ] @ () (list int)
@@ -94,12 +77,7 @@ spec = parallel $ do
9477 describe " Complex" $ do
9578 prop " BuildResult"
9679 $ forAll (arbitrary `suchThat` ((/= Just " " ) . System.Nix.Build. errorMessage))
97- $ \ br ->
98- roundtripS @ BuildResult buildResult
99- -- fix time to 0 as we test UTCTime above
100- $ br { System.Nix.Build. startTime = Data.Time.Clock.POSIX. posixSecondsToUTCTime 0
101- , System.Nix.Build. stopTime = Data.Time.Clock.POSIX. posixSecondsToUTCTime 0
102- }
80+ $ roundtripS buildResult
10381
10482 prop " StorePath" $
10583 roundtripSReader @ StoreDir storePath
@@ -118,9 +96,6 @@ spec = parallel $ do
11896 prop " Metadata (StorePath)"
11997 $ \ sd -> forAll (arbitrary `suchThat` (\ m -> narHashIsSHA256 m && narBytes m /= Just 0 ))
12098 $ roundtripSReader @ StoreDir pathMetadata sd
121- . (\ m -> m
122- { registrationTime = Data.Time.Clock.POSIX. posixSecondsToUTCTime 0
123- })
12499
125100 prop " Some HashAlgo" $
126101 roundtripS someHashAlgo
0 commit comments