nim-eth/tests/fuzzing/rlp/rlp_decode.nim
Kim De Mey df6020832b
Build fuzzing tests in CI and fix current fuzzing tests (#396)
* Build fuzzing tests in CI and fix current fuzzing tests

* Build fuzzing tests separately (fix Windows CI)
2021-09-07 16:00:01 +02:00

33 lines
731 B
Nim

import
testutils/fuzzing, chronicles,
../../../eth/rlp
type
TestEnum = enum
one = 1
two = 2
TestObject* = object
test1: uint32
test2: string
template testDecode(payload: openarray, T: type) =
try:
discard rlp.decode(payload, T)
except RlpError as e:
debug "Decode failed", err = e.msg
test:
testDecode(payload, string)
testDecode(payload, uint)
testDecode(payload, uint8)
testDecode(payload, uint16)
testDecode(payload, uint32)
testDecode(payload, uint64)
testDecode(payload, int)
testDecode(payload, bool)
testDecode(payload, float64)
testDecode(payload, seq[byte])
testDecode(payload, (string, int32))
testDecode(payload, TestEnum)
testDecode(payload, TestObject)