mirror of
https://github.com/ilyakooo0/binary-bits.git
synced 2024-09-11 06:35:26 +03:00
Test for trying to read negative length with getByteString.
If not checking the requested read length, we're most likely to segfault.
This commit is contained in:
parent
3ab9b9ab10
commit
0ed38e7ca5
10
BitsQC.hs
10
BitsQC.hs
@ -14,6 +14,7 @@ import Data.Binary.Bits.Get
|
||||
import Data.Binary.Bits.Put
|
||||
|
||||
import qualified Data.ByteString as B
|
||||
import qualified Data.ByteString.Lazy as L
|
||||
|
||||
import Control.Applicative
|
||||
import Data.Bits
|
||||
@ -39,6 +40,9 @@ tests =
|
||||
, testGroup "Custom test cases"
|
||||
[ testProperty "prop_composite_case" prop_composite_case ]
|
||||
|
||||
, testGroup "getByteString"
|
||||
[ testProperty "prop_getByteString_negative" prop_getByteString_negative ]
|
||||
|
||||
, testGroup "prop_bitput_with_get_from_binary"
|
||||
[ testProperty "Word8" (prop_bitput_with_get_from_binary :: W [Word8] -> Property)
|
||||
, testProperty "Word16" (prop_bitput_with_get_from_binary :: W [Word16] -> Property)
|
||||
@ -103,6 +107,12 @@ tests =
|
||||
]
|
||||
]
|
||||
|
||||
|
||||
prop_getByteString_negative :: Int -> Property
|
||||
prop_getByteString_negative n =
|
||||
n < 1 ==>
|
||||
runGet (runBitGet (getByteString n)) L.empty == B.empty
|
||||
|
||||
prop_putget_with_bitreq :: (BinaryBit a, Num a, Bits a, Ord a) => W a -> Property
|
||||
prop_putget_with_bitreq (W w) = property $
|
||||
-- write all words with as many bits as it's required
|
||||
|
Loading…
Reference in New Issue
Block a user