commit 010fa6501eb6108b43476ef3505ee1a553fad01f from: Sergey Bronnikov via: Sergey Bronnikov date: Wed Jul 19 14:11:27 2023 UTC tests: add digest.crc32 test commit - 514a2051d89dfba098afc39dca5726d3ec92c98e commit + 010fa6501eb6108b43476ef3505ee1a553fad01f blob - /dev/null blob + 32cfc119be17d443626d150b1264fca0d416d6eb (mode 644) --- /dev/null +++ tests/tarantool_digest_crc32.lua @@ -0,0 +1,33 @@ +-- lua: rewrite crc32 digest via Lua C API, +-- https://github.com/tarantool/tarantool/pull/6956/commits/b2c3f868e98f5ff35469bf6a7d06a6f25b682f8e +-- https://github.com/tarantool/tarantool/issues/7937 + +local luzer = require("luzer") +local digest = require("digest") + +local function TestOneInput(buf) + local fdp = luzer.FuzzedDataProvider(buf) + local a = fdp:consume_string(10) + local b = fdp:consume_string(10) + + -- calculate crc32 with one step. + local ok, res1 = pcall(digest.crc32.new, a .. b) + assert(ok == true) + assert(res1) + + -- calculate crc32 incrementally. + local res2 = digest.crc32.new() + res2:update(a) + res2:update(b) + + assert(res1 == res2) +end + +local args = { + max_len = 4096, + print_pcs = 1, + artifact_prefix = "digest_crc32_", + max_total_time = 60, + print_final_stats = 1, +} +luzer.Fuzz(TestOneInput, nil, args)