[tests] more refactoring
This commit is contained in:
parent
5d2e2ce999
commit
ffe42392ca
@ -33,8 +33,7 @@ instance Show AFISParams where
|
|||||||
show (AFISParams dat expand _ _) = "data: " ++ show dat ++ " expanded: " ++ show expand
|
show (AFISParams dat expand _ _) = "data: " ++ show dat ++ " expanded: " ++ show expand
|
||||||
|
|
||||||
instance Arbitrary AFISParams where
|
instance Arbitrary AFISParams where
|
||||||
arbitrary = AFISParams <$> arbitraryBS <*> choose (2,2) <*> elements [SHA1] <*> arbitrary
|
arbitrary = AFISParams <$> arbitraryBSof 3 46 <*> choose (2,2) <*> elements [SHA1] <*> arbitrary
|
||||||
where arbitraryBS = choose (3,46) >>= \sz -> B.pack <$> replicateM sz arbitrary
|
|
||||||
|
|
||||||
instance Arbitrary ChaChaDRG where
|
instance Arbitrary ChaChaDRG where
|
||||||
arbitrary = drgNewTest <$> arbitrary
|
arbitrary = drgNewTest <$> arbitrary
|
||||||
|
|||||||
@ -6,7 +6,6 @@ import Crypto.Hash (MD5(..), SHA1(..), SHA256(..)
|
|||||||
, Kekkak_224(..), Kekkak_256(..), Kekkak_384(..), Kekkak_512(..)
|
, Kekkak_224(..), Kekkak_256(..), Kekkak_384(..), Kekkak_512(..)
|
||||||
, SHA3_224(..), SHA3_256(..), SHA3_384(..), SHA3_512(..)
|
, SHA3_224(..), SHA3_256(..), SHA3_384(..), SHA3_512(..)
|
||||||
, HashAlgorithm, digestFromByteString)
|
, HashAlgorithm, digestFromByteString)
|
||||||
--import Data.Foldable (foldl')
|
|
||||||
import qualified Data.ByteString as B
|
import qualified Data.ByteString as B
|
||||||
|
|
||||||
import Imports
|
import Imports
|
||||||
@ -116,12 +115,10 @@ macTests =
|
|||||||
data MacIncremental a = MacIncremental ByteString ByteString (HMAC.HMAC a)
|
data MacIncremental a = MacIncremental ByteString ByteString (HMAC.HMAC a)
|
||||||
deriving (Show,Eq)
|
deriving (Show,Eq)
|
||||||
|
|
||||||
arbitraryBS = B.pack <$> (choose (1,299) >>= \i -> replicateM i arbitrary)
|
|
||||||
|
|
||||||
instance HashAlgorithm a => Arbitrary (MacIncremental a) where
|
instance HashAlgorithm a => Arbitrary (MacIncremental a) where
|
||||||
arbitrary = do
|
arbitrary = do
|
||||||
key <- B.pack <$> replicateM 65 (choose (0x30,0x30)) -- B.pack arbitraryBS
|
key <- arbitraryBSof 1 89
|
||||||
msg <- B.pack <$> replicateM 2 (choose (0x40,0x40)) -- B.pack arbitraryBS
|
msg <- arbitraryBSof 1 99
|
||||||
return $ MacIncremental key msg (HMAC.hmac key msg)
|
return $ MacIncremental key msg (HMAC.hmac key msg)
|
||||||
|
|
||||||
data MacIncrementalList a = MacIncrementalList ByteString [ByteString] (HMAC.HMAC a)
|
data MacIncrementalList a = MacIncrementalList ByteString [ByteString] (HMAC.HMAC a)
|
||||||
@ -129,11 +126,9 @@ data MacIncrementalList a = MacIncrementalList ByteString [ByteString] (HMAC.HMA
|
|||||||
|
|
||||||
instance HashAlgorithm a => Arbitrary (MacIncrementalList a) where
|
instance HashAlgorithm a => Arbitrary (MacIncrementalList a) where
|
||||||
arbitrary = do
|
arbitrary = do
|
||||||
--key <- arbitraryBS
|
key <- arbitraryBSof 1 89
|
||||||
--msgs <- choose (1,20) >>= \i -> replicateM i arbitraryBS
|
msgs <- choose (1,20) >>= \n -> replicateM n (arbitraryBSof 1 99)
|
||||||
key <- B.pack <$> replicateM 128 (choose (0x30,0x30)) -- B.pack arbitraryBS
|
return $ MacIncrementalList key msgs (HMAC.hmac key (B.concat msgs))
|
||||||
msgs <- B.pack <$> replicateM 2 (choose (0x40,0x40)) -- B.pack arbitraryBS
|
|
||||||
return $ MacIncrementalList key [msgs] (HMAC.hmac key (B.concat [msgs]))
|
|
||||||
|
|
||||||
macIncrementalTests :: [TestTree]
|
macIncrementalTests :: [TestTree]
|
||||||
macIncrementalTests =
|
macIncrementalTests =
|
||||||
|
|||||||
@ -14,6 +14,12 @@ newtype ChunkingLen = ChunkingLen [Int]
|
|||||||
instance Arbitrary ChunkingLen where
|
instance Arbitrary ChunkingLen where
|
||||||
arbitrary = ChunkingLen `fmap` replicateM 16 (choose (0,14))
|
arbitrary = ChunkingLen `fmap` replicateM 16 (choose (0,14))
|
||||||
|
|
||||||
|
arbitraryBS :: Int -> Gen ByteString
|
||||||
|
arbitraryBS n = B.pack `fmap` replicateM n arbitrary
|
||||||
|
|
||||||
|
arbitraryBSof :: Int -> Int -> Gen ByteString
|
||||||
|
arbitraryBSof minSize maxSize = choose (minSize, maxSize) >>= \n -> (B.pack `fmap` replicateM n arbitrary)
|
||||||
|
|
||||||
chunkS :: ChunkingLen -> ByteString -> [ByteString]
|
chunkS :: ChunkingLen -> ByteString -> [ByteString]
|
||||||
chunkS (ChunkingLen originalChunks) = loop originalChunks
|
chunkS (ChunkingLen originalChunks) = loop originalChunks
|
||||||
where loop l bs
|
where loop l bs
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user