From 5c54ca768bef91fbf0978077d0255698034b9480 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Fri, 10 Apr 2020 12:45:26 +0100 Subject: [PATCH] [Test] Fix tests --- test/lua/unit/base32.lua | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/test/lua/unit/base32.lua b/test/lua/unit/base32.lua index 07fe14129..a460b6575 100644 --- a/test/lua/unit/base32.lua +++ b/test/lua/unit/base32.lua @@ -5,42 +5,43 @@ context("Base32 encodning", function() ffi.cdef[[ void ottery_rand_bytes(void *buf, size_t n); unsigned ottery_rand_unsigned(void); - unsigned char* rspamd_decode_base32 (const char *in, size_t inlen, size_t *outlen); - char * rspamd_encode_base32 (const unsigned char *in, size_t inlen); + unsigned char* rspamd_decode_base32 (const char *in, size_t inlen, size_t *outlen, int how); + char * rspamd_encode_base32 (const unsigned char *in, size_t inlen, int how); void g_free(void *ptr); int memcmp(const void *a1, const void *a2, size_t len); ]] - + local function random_buf(max_size) local l = ffi.C.ottery_rand_unsigned() % max_size + 1 local buf = ffi.new("unsigned char[?]", l) ffi.C.ottery_rand_bytes(buf, l) - + return buf, l end - + test("Base32 encode test", function() local cases = { {'test123', 'wm3g84fg13cy'}, {'hello', 'em3ags7p'} } - + for _,c in ipairs(cases) do - local b = ffi.C.rspamd_encode_base32(c[1], #c[1]) + local b = ffi.C.rspamd_encode_base32(c[1], #c[1], 0) local s = ffi.string(b) ffi.C.g_free(b) assert_equal(s, c[2], s .. " not equal " .. c[2]) end end) - + test("Base32 fuzz test", function() for i = 1,1000 do local b, l = random_buf(4096) - local ben = ffi.C.rspamd_encode_base32(b, l) + local how = math.floor(math.random(3) - 1) + local ben = ffi.C.rspamd_encode_base32(b, l, how) local bs = ffi.string(ben) local nl = ffi.new("size_t [1]") - local nb = ffi.C.rspamd_decode_base32(bs, #bs, nl) - + local nb = ffi.C.rspamd_decode_base32(bs, #bs, nl, how) + local cmp = ffi.C.memcmp(b, nb, l) ffi.C.g_free(ben) ffi.C.g_free(nb) -- 2.39.5