commit - 9f8b768880cb65aa824851ae15a3f8e2ee4c76ca
commit + 343103f27f4b93edad554204e0ac8a765f6da0cd
blob - /dev/null
blob + ec43c7b32131199a5d2e8c2d51d00ede97fcf9f0 (mode 644)
--- /dev/null
+++ tests/tarantool_pickle.lua
+-- https://www.tarantool.io/en/doc/latest/reference/reference_lua/pickle/
+
+local pickle = require("pickle")
+local luzer = require("luzer")
+
+local function TestOneInput(buf)
+ local ok, unpacked = pcall(pickle.unpack, buf)
+ if ok == true then
+ local packed = pickle.pack(unpacked)
+ assert(#packed == #buf)
+ end
+end
+
+if arg[1] then
+ local testcase = io.open(arg[1]):read("*all")
+ TestOneInput(testcase)
+ os.exit()
+end
+
+local script_path = debug.getinfo(1).source:match("@?(.*/)")
+
+local args = {
+ max_len = 4096,
+ corpus = script_path .. "tarantool-corpus/pickle_unpack",
+ artifact_prefix = "pickle_unpack_",
+ max_total_time = 60,
+ print_final_stats = 1,
+}
+luzer.Fuzz(TestOneInput, nil, args)