diff --git a/test/tarantool-tests/lj-695-ffi-vararg-call.test.lua b/test/tarantool-tests/lj-695-ffi-vararg-call.test.lua new file mode 100644 index 0000000000..04be1998ab --- /dev/null +++ b/test/tarantool-tests/lj-695-ffi-vararg-call.test.lua @@ -0,0 +1,16 @@ +local tap = require('tap') + +local test = tap.test('lj-695-ffi-vararg-call') +test:plan(2) + +local ffi = require('ffi') +local str = ffi.new('char[256]') +ffi.cdef('int sprintf(char *str, const char *format, ...)') +local strlen = ffi.C.sprintf(str, 'try vararg function: %s:%.2f(%d) - %llu', + 'imun', 9, 9LL, -1ULL) + +local result = ffi.string(str) +test:is(#result, strlen) +test:is(result, 'try vararg function: imun:9.00(9) - 18446744073709551615') + +os.exit(test:check() and 0 or 1)