Skip to content

Commit e30bad8

Browse files
committed
Move utility functions to cardano-base
1 parent 73f0bf4 commit e30bad8

File tree

14 files changed

+21
-44
lines changed

14 files changed

+21
-44
lines changed

eras/mary/impl/cardano-ledger-mary.cabal

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,10 +163,11 @@ library testlib
163163
build-depends:
164164
base,
165165
bytestring,
166+
cardano-base:testlib,
166167
cardano-crypto-class,
167168
cardano-data:testlib,
168169
cardano-ledger-allegra:testlib,
169-
cardano-ledger-binary:{cardano-ledger-binary, testlib},
170+
cardano-ledger-binary,
170171
cardano-ledger-core:{cardano-ledger-core, testlib},
171172
cardano-ledger-mary,
172173
cardano-ledger-shelley:{cardano-ledger-shelley, testlib},

eras/mary/impl/testlib/Test/Cardano/Ledger/Mary/Arbitrary.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,9 @@ import Data.Int (Int64)
4040
import qualified Data.Map.Strict as Map (empty)
4141
import Data.Maybe (fromMaybe)
4242
import Data.String (IsString (fromString))
43+
import Test.Cardano.Base.Bytes (genByteString, genShortByteString)
4344
import Test.Cardano.Data (genNonEmptyMap)
4445
import Test.Cardano.Ledger.Allegra.Arbitrary ()
45-
import Test.Cardano.Ledger.Binary.Arbitrary (genByteString, genShortByteString)
4646
import Test.Cardano.Ledger.Common
4747

4848
instance Arbitrary AssetName where

eras/shelley/impl/cardano-ledger-shelley.cabal

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,7 @@ library testlib
215215
ImpSpec,
216216
base,
217217
bytestring,
218+
cardano-base:testlib,
218219
cardano-crypto,
219220
cardano-crypto-class,
220221
cardano-crypto-wrapper,

eras/shelley/impl/testlib/Test/Cardano/Ledger/Shelley/Imp/PoolSpec.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import Cardano.Ledger.State
1818
import Data.Map.Strict as Map
1919
import Data.Proxy
2020
import Lens.Micro
21-
import Test.Cardano.Ledger.Binary.Arbitrary (genByteArray)
21+
import Test.Cardano.Base.Bytes (genByteArray)
2222
import Test.Cardano.Ledger.Imp.Common
2323
import Test.Cardano.Ledger.Shelley.ImpTest
2424

libs/cardano-ledger-binary/CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818

1919
### `testlib`
2020

21+
* Remove `genByteArray`, `genByteString`, `genLazyByteString`, `genShortByteString`.
22+
These have been moved to `cardano-base:testlib`.
2123
* Remove `Arbitrary` instances for `CertifiedVRF`, `SigDSIGN`, `SignKeyDSIGN`, `SignedDSIGN`, `VerKeyDSIGN`.
2224
These have been moved to `cardano-crypto-class:testlib`.
2325
* Remove `Arbitrary` instances for `BlockNo`, `EpochInterval`, `EpochSize`, `SystemStart`, `WithOrigin`.

libs/cardano-ledger-binary/cardano-ledger-binary.cabal

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@ library testlib
114114
base,
115115
base16-bytestring,
116116
bytestring,
117+
cardano-base:testlib,
117118
cardano-binary,
118119
cardano-crypto-class:{cardano-crypto-class, testlib},
119120
cardano-crypto-praos:testlib,

libs/cardano-ledger-binary/testlib/Test/Cardano/Ledger/Binary/Arbitrary.hs

Lines changed: 6 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -8,33 +8,22 @@
88

99
module Test.Cardano.Ledger.Binary.Arbitrary (
1010
genVersion,
11-
genByteArray,
12-
genByteString,
13-
genLazyByteString,
14-
genShortByteString,
1511
) where
1612

1713
import Cardano.Ledger.Binary.Version
18-
import Codec.CBOR.ByteArray (ByteArray (..))
14+
import qualified Codec.CBOR.ByteArray as CBOR
1915
import Codec.CBOR.ByteArray.Sliced (SlicedByteArray (..))
2016
import Codec.CBOR.Term
21-
import qualified Data.ByteString as BS (ByteString, pack, unpack)
22-
import qualified Data.ByteString.Lazy as BSL (ByteString, fromChunks, fromStrict, toChunks)
23-
import Numeric.Half
24-
#if MIN_VERSION_bytestring(0,11,1)
25-
import qualified Data.ByteString.Short as SBS
26-
#else
27-
import qualified Data.ByteString.Short.Internal as SBS
28-
#endif
17+
import qualified Data.ByteString as BS
18+
import qualified Data.ByteString.Lazy as BSL
2919
import Data.IP (IPv4, IPv6, toIPv4w, toIPv6w)
30-
import qualified Data.Primitive.ByteArray as Prim (ByteArray (..))
3120
import qualified Data.Text as T
3221
import qualified Data.Text.Lazy as TL
3322
import qualified Data.VMap as VMap
3423
import Data.Word
3524
import GHC.Stack
36-
import System.Random.Stateful hiding (genByteString, genShortByteString)
37-
import Test.Cardano.Ledger.Binary.Random (QC (QC))
25+
import Numeric.Half
26+
import Test.Cardano.Base.Bytes (genByteArray, genByteString, genLazyByteString)
3827
import Test.Cardano.Slotting.Arbitrary ()
3928
import Test.Crypto.Hash ()
4029
import Test.Crypto.KES ()
@@ -115,7 +104,7 @@ genHalf = do
115104
then genHalf
116105
else pure $ fromHalf half
117106

118-
deriving instance Arbitrary ByteArray
107+
deriving instance Arbitrary CBOR.ByteArray
119108

120109
instance Arbitrary SlicedByteArray where
121110
arbitrary = do
@@ -153,22 +142,3 @@ genVersion minVersion maxVersion =
153142
case mkVersion32 v32 of
154143
Nothing -> error $ "Impossible: Invalid version generated: " ++ show v32
155144
Just v -> pure v
156-
157-
genByteString :: Int -> Gen BS.ByteString
158-
genByteString n = uniformByteStringM (fromIntegral n) QC
159-
160-
genLazyByteString :: Int -> Gen BSL.ByteString
161-
genLazyByteString n = BSL.fromStrict <$> genByteString n
162-
163-
genShortByteString :: Int -> Gen SBS.ShortByteString
164-
#if MIN_VERSION_random(1,3,0)
165-
genShortByteString n = uniformShortByteStringM (fromIntegral n) QC
166-
#else
167-
genShortByteString n = uniformShortByteString (fromIntegral n) QC
168-
#endif
169-
170-
genByteArray :: Int -> Gen Prim.ByteArray
171-
genByteArray n = do
172-
sbs <- genShortByteString n
173-
case sbs of
174-
SBS.SBS ba -> pure (Prim.ByteArray ba)

libs/cardano-ledger-core/cardano-ledger-core.cabal

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,7 @@ library testlib
224224
base16-bytestring,
225225
binary,
226226
bytestring,
227+
cardano-base:testlib,
227228
cardano-crypto-class,
228229
cardano-crypto-wrapper:{cardano-crypto-wrapper, testlib},
229230
cardano-data:testlib,

libs/cardano-ledger-core/testlib/Test/Cardano/Ledger/Core/Arbitrary.hs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ import Generic.Random (genericArbitraryU)
105105
import Numeric.Natural (Natural)
106106
import qualified PlutusLedgerApi.V1 as PV1
107107
import System.Random.Stateful (StatefulGen, uniformRM)
108+
import Test.Cardano.Base.Bytes (genByteString, genShortByteString)
108109
import qualified Test.Cardano.Chain.Common.Gen as Byron
109110
import Test.Cardano.Ledger.Binary.Arbitrary
110111
import Test.Cardano.Ledger.Core.Utils (unsafeBoundRational)

libs/cardano-ledger-test/cardano-ledger-test.cabal

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ library
7878
QuickCheck,
7979
base >=4.18 && <5,
8080
bytestring,
81+
cardano-base:testlib,
8182
cardano-crypto,
8283
cardano-crypto-class ^>=2.3,
8384
cardano-crypto-wrapper,

0 commit comments

Comments
 (0)