Skip to content
Snippets Groups Projects
Commit b69a392d authored by Roman Tsisyk's avatar Roman Tsisyk
Browse files

Fix #811: MsgPack fixint decoded as cdata

+ Check Lua types for uint/decode for msgpack(ffi)/json/yaml tests
parent a6f8329c
No related branches found
No related tags found
No related merge requests found
......@@ -290,34 +290,39 @@ on_encode(ffi.typeof('double'), encode_double)
local decode_r
local NUMBER_INT_MAX = 4503599627370496LL -- 2^52
local function decode_u8(data)
local num = ffi.cast(uint8_ptr_t, data[0])[0]
data[0] = data[0] + 1
return num
return tonumber(num)
end
local function decode_u16(data)
local num = bswap_u16(ffi.cast(uint16_ptr_t, data[0])[0])
data[0] = data[0] + 2
return num
return tonumber(num)
end
local function decode_u32(data)
local num = bswap_u32(ffi.cast(uint32_ptr_t, data[0])[0])
data[0] = data[0] + 4
return num
return tonumber(num)
end
local function decode_u64(data)
local num = bswap_u64(ffi.cast(uint64_ptr_t, data[0])[0])
data[0] = data[0] + 8
return num
if num < NUMBER_INT_MAX then
return tonumber(num) -- return as 'number'
end
return num -- return as 'cdata'
end
local function decode_i8(data)
local num = ffi.cast(int8_ptr_t, data[0])[0]
data[0] = data[0] + 1
return num
return tonumber(num)
end
local function decode_i16(data)
......@@ -333,9 +338,13 @@ local function decode_i32(data)
end
local function decode_i64(data)
local num = bswap_u64(ffi.cast(uint64_ptr_t, data[0])[0])
local num = ffi.cast('int64_t', ffi.cast('uint64_t',
bswap_u64(ffi.cast(uint64_ptr_t, data[0])[0])))
data[0] = data[0] + 8
return ffi.cast('int64_t', ffi.cast('uint64_t', num))
if num > -NUMBER_INT_MAX and num < NUMBER_INT_MAX then
return tonumber(num) -- return as 'number'
end
return num -- return as 'cdata'
end
local bswap_buf = ffi.new('char[8]')
......@@ -427,17 +436,15 @@ decode_r = function(data)
local c = data[0][0]
data[0] = data[0] + 1
if c <= 0x7f then
return c -- fixint
return tonumber(c) -- fixint
elseif c >= 0xa0 and c <= 0xbf then
return decode_str(data, bit.band(c, 0x1f)) -- fixstr
elseif c >= 0x90 and c <= 0x9f then
return decode_array(data, bit.band(c, 0xf)) -- fixarray
elseif c >= 0x80 and c <= 0x8f then
return decode_map(data, bit.band(c, 0xf)) -- fixmap
elseif c <= 0x7f then
return c2
elseif c >= 0xe0 then
return ffi.cast('signed char',c)
return tonumber(ffi.cast('signed char',c)) -- negfixint
elseif c == 0xc0 then
return msgpack.NULL
elseif c == 0xc2 then
......
......@@ -2,97 +2,177 @@ TAP version 13
# json
1..9
# unsigned
1..56
1..118
ok - encode/decode for 0
ok - encode/decode type for 0
ok - encode/decode for 0LL
ok - encode/decode type for 0LL
ok - encode/decode for 0ULL
ok - encode/decode type for 0ULL
ok - encode/decode for 1
ok - encode/decode type for 1
ok - encode/decode for 1LL
ok - encode/decode type for 1LL
ok - encode/decode for 1ULL
ok - encode/decode type for 1ULL
ok - encode/decode for 127
ok - encode/decode type for 127
ok - encode/decode for 127LL
ok - encode/decode type for 127LL
ok - encode/decode for 127ULL
ok - encode/decode type for 127ULL
ok - encode/decode for 128
ok - encode/decode type for 128
ok - encode/decode for 128LL
ok - encode/decode type for 128LL
ok - encode/decode for 128ULL
ok - encode/decode type for 128ULL
ok - encode/decode for 255
ok - encode/decode type for 255
ok - encode/decode for 255LL
ok - encode/decode type for 255LL
ok - encode/decode for 255ULL
ok - encode/decode type for 255ULL
ok - encode/decode for 256
ok - encode/decode type for 256
ok - encode/decode for 256LL
ok - encode/decode type for 256LL
ok - encode/decode for 256ULL
ok - encode/decode type for 256ULL
ok - encode/decode for 65535
ok - encode/decode type for 65535
ok - encode/decode for 65535LL
ok - encode/decode type for 65535LL
ok - encode/decode for 65535ULL
ok - encode/decode type for 65535ULL
ok - encode/decode for 65536
ok - encode/decode type for 65536
ok - encode/decode for 65536LL
ok - encode/decode type for 65536LL
ok - encode/decode for 65536ULL
ok - encode/decode type for 65536ULL
ok - encode/decode for 4294967294
ok - encode/decode type for 4294967294
ok - encode/decode for 4294967294LL
ok - encode/decode type for 4294967294LL
ok - encode/decode for 4294967294ULL
ok - encode/decode type for 4294967294ULL
ok - encode/decode for 4294967295
ok - encode/decode type for 4294967295
ok - encode/decode for 4294967295LL
ok - encode/decode type for 4294967295LL
ok - encode/decode for 4294967295ULL
ok - encode/decode type for 4294967295ULL
ok - encode/decode for 4294967296
ok - encode/decode type for 4294967296
ok - encode/decode for 4294967296LL
ok - encode/decode type for 4294967296LL
ok - encode/decode for 4294967296ULL
ok - encode/decode type for 4294967296ULL
ok - encode/decode for 4294967297
ok - encode/decode type for 4294967297
ok - encode/decode for 4294967297LL
ok - encode/decode type for 4294967297LL
ok - encode/decode for 4294967297ULL
ok - encode/decode for 9.007199254741e+15
ok - encode/decode for 9007199254740992LL
ok - encode/decode for 9007199254740992ULL
ok - encode/decode type for 4294967297ULL
ok - encode/decode for 4.5035996273705e+15
ok - encode/decode type for 4.5035996273705e+15
ok - encode/decode for 4503599627370495LL
ok - encode/decode type for 4503599627370495LL
ok - encode/decode for 4503599627370495ULL
ok - encode/decode type for 4503599627370495ULL
ok - encode/decode for 4.5035996273705e+15
ok - encode/decode type for 4.5035996273705e+15
ok - encode/decode for 4503599627370496LL
ok - encode/decode type for 4503599627370496LL
ok - encode/decode for 4503599627370496ULL
ok - encode/decode type for 4503599627370496ULL
ok - encode/decode for 9223372036854775807LL
ok - encode/decode type for 9223372036854775807LL
ok - encode/decode for 9223372036854775807ULL
ok - encode/decode type for 9223372036854775807ULL
ok - encode/decode for 9223372036854775808ULL
ok - encode/decode type for 9223372036854775808ULL
ok - encode/decode for 9223372036854775809ULL
ok - encode/decode type for 9223372036854775809ULL
ok - encode/decode for 18446744073709551614ULL
ok - encode/decode type for 18446744073709551614ULL
ok - encode/decode for 18446744073709551615ULL
ok - encode/decode type for 18446744073709551615ULL
ok - encode/decode for 18446744073709551615ULL
ok - encode/decode type for 18446744073709551615ULL
ok - encode/decode for cdata<unsigned char>:
ok - encode/decode type for cdata<unsigned char>:
ok - encode/decode for cdata<char>:
ok - encode/decode type for cdata<char>:
ok - encode/decode for cdata<unsigned short>:
ok - encode/decode type for cdata<unsigned short>:
ok - encode/decode for cdata<short>:
ok - encode/decode type for cdata<short>:
ok - encode/decode for cdata<unsigned int>:
ok - encode/decode type for cdata<unsigned int>:
ok - encode/decode for cdata<int>:
ok - encode/decode type for cdata<int>:
ok - encode/decode for 128ULL
ok - encode/decode type for 128ULL
ok - encode/decode for -128LL
ok - encode/decode type for -128LL
ok - encode/decode for cdata<char>:
ok - encode/decode type for cdata<char>:
ok - encode/decode for cdata<char>:
ok - encode/decode type for cdata<char>:
# unsigned: end
ok - unsigned
# signed
1..30
1..48
ok - encode/decode for -1
ok - encode/decode type for -1
ok - encode/decode for -1LL
ok - encode/decode type for -1LL
ok - encode/decode for -31
ok - encode/decode type for -31
ok - encode/decode for -31LL
ok - encode/decode type for -31LL
ok - encode/decode for -32
ok - encode/decode type for -32
ok - encode/decode for -32LL
ok - encode/decode type for -32LL
ok - encode/decode for -127
ok - encode/decode type for -127
ok - encode/decode for -127LL
ok - encode/decode type for -127LL
ok - encode/decode for -128
ok - encode/decode type for -128
ok - encode/decode for -128LL
ok - encode/decode type for -128LL
ok - encode/decode for -32767
ok - encode/decode type for -32767
ok - encode/decode for -32767LL
ok - encode/decode type for -32767LL
ok - encode/decode for -32768
ok - encode/decode type for -32768
ok - encode/decode for -32768LL
ok - encode/decode type for -32768LL
ok - encode/decode for -2147483647
ok - encode/decode type for -2147483647
ok - encode/decode for -2147483647LL
ok - encode/decode type for -2147483647LL
ok - encode/decode for -2147483648
ok - encode/decode type for -2147483648
ok - encode/decode for -2147483648LL
ok - encode/decode for 9.007199254741e+15
ok - encode/decode for 9007199254740991ULL
ok - encode/decode for 9007199254740991LL
ok - encode/decode for 9.007199254741e+15
ok - encode/decode for 9007199254740992ULL
ok - encode/decode for 9007199254740992LL
ok - encode/decode for -9.007199254741e+15
ok - encode/decode for -9007199254740991LL
ok - encode/decode for -9.007199254741e+15
ok - encode/decode for -9007199254740992LL
ok - encode/decode type for -2147483648LL
ok - encode/decode for -4.5035996273705e+15
ok - encode/decode type for -4.5035996273705e+15
ok - encode/decode for -4503599627370495LL
ok - encode/decode type for -4503599627370495LL
ok - encode/decode for -4.5035996273705e+15
ok - encode/decode type for -4.5035996273705e+15
ok - encode/decode for -4503599627370496LL
ok - encode/decode type for -4503599627370496LL
ok - encode/decode for -9223372036854775806LL
ok - encode/decode type for -9223372036854775806LL
ok - encode/decode for -9223372036854775807LL
ok - encode/decode type for -9223372036854775807LL
# signed: end
ok - signed
# double
......
local ffi = require('ffi')
local function rt(test, s, x)
local function rt(test, s, x, t)
local buf1 = s.encode(x)
local x1, offset1 = s.decode(buf1)
local xstr
......@@ -19,133 +19,131 @@ local function rt(test, s, x)
xstr = tostring(x)
end
test:is_deeply(x, x1, "encode/decode for "..xstr)
if t ~= nil then
test:is(type(x1), t, "encode/decode type for "..xstr)
end
end
local function test_unsigned(test, s)
test:plan(56)
rt(test, s, 0)
rt(test, s, 0LL)
rt(test, s, 0ULL)
rt(test, s, 1)
rt(test, s, 1LL)
rt(test, s, 1ULL)
rt(test, s, 127)
rt(test, s, 127LL)
rt(test, s, 127ULL)
rt(test, s, 128)
rt(test, s, 128LL)
rt(test, s, 128ULL)
rt(test, s, 255)
rt(test, s, 255LL)
rt(test, s, 255ULL)
rt(test, s, 256)
rt(test, s, 256LL)
rt(test, s, 256ULL)
rt(test, s, 65535)
rt(test, s, 65535LL)
rt(test, s, 65535ULL)
rt(test, s, 65536)
rt(test, s, 65536LL)
rt(test, s, 65536ULL)
rt(test, s, 4294967294)
rt(test, s, 4294967294LL)
rt(test, s, 4294967294ULL)
rt(test, s, 4294967295)
rt(test, s, 4294967295LL)
rt(test, s, 4294967295ULL)
rt(test, s, 4294967296)
rt(test, s, 4294967296LL)
rt(test, s, 4294967296ULL)
rt(test, s, 4294967297)
rt(test, s, 4294967297LL)
rt(test, s, 4294967297ULL)
rt(test, s, 9007199254740992)
rt(test, s, 9007199254740992LL)
rt(test, s, 9007199254740992ULL)
rt(test, s, 9223372036854775807LL)
rt(test, s, 9223372036854775807ULL)
rt(test, s, 9223372036854775808ULL)
rt(test, s, 9223372036854775809ULL)
rt(test, s, 18446744073709551614ULL)
rt(test, s, 18446744073709551615ULL)
rt(test, s, -1ULL)
rt(test, s, ffi.new('uint8_t', 128))
rt(test, s, ffi.new('int8_t', -128))
rt(test, s, ffi.new('uint16_t', 128))
rt(test, s, ffi.new('int16_t', -128))
rt(test, s, ffi.new('uint32_t', 128))
rt(test, s, ffi.new('int32_t', -128))
rt(test, s, ffi.new('uint64_t', 128))
rt(test, s, ffi.new('int64_t', -128))
rt(test, s, ffi.new('char', 128))
rt(test, s, ffi.new('char', -128))
test:plan(118)
rt(test, s, 0, "number")
rt(test, s, 0LL, "number")
rt(test, s, 0ULL, "number")
rt(test, s, 1, "number")
rt(test, s, 1LL, "number")
rt(test, s, 1ULL, "number")
rt(test, s, 127, "number")
rt(test, s, 127LL, "number")
rt(test, s, 127ULL, "number")
rt(test, s, 128, "number")
rt(test, s, 128LL, "number")
rt(test, s, 128ULL, "number")
rt(test, s, 255, "number")
rt(test, s, 255LL, "number")
rt(test, s, 255ULL, "number")
rt(test, s, 256, "number")
rt(test, s, 256LL, "number")
rt(test, s, 256ULL, "number")
rt(test, s, 65535, "number")
rt(test, s, 65535LL, "number")
rt(test, s, 65535ULL, "number")
rt(test, s, 65536, "number")
rt(test, s, 65536LL, "number")
rt(test, s, 65536ULL, "number")
rt(test, s, 4294967294, "number")
rt(test, s, 4294967294LL, "number")
rt(test, s, 4294967294ULL, "number")
rt(test, s, 4294967295, "number")
rt(test, s, 4294967295LL, "number")
rt(test, s, 4294967295ULL, "number")
rt(test, s, 4294967296, "number")
rt(test, s, 4294967296LL, "number")
rt(test, s, 4294967296ULL, "number")
rt(test, s, 4294967297, "number")
rt(test, s, 4294967297LL, "number")
rt(test, s, 4294967297ULL, "number")
-- 1e52 - maximum int that can be stored to double without losing precision
rt(test, s, 4503599627370495, "number")
rt(test, s, 4503599627370495LL, "number")
rt(test, s, 4503599627370495ULL, "number")
rt(test, s, 4503599627370496, "cdata")
rt(test, s, 4503599627370496LL, "cdata")
rt(test, s, 4503599627370496ULL, "cdata")
rt(test, s, 9223372036854775807LL, "cdata")
rt(test, s, 9223372036854775807ULL, "cdata")
rt(test, s, 9223372036854775808ULL, "cdata")
rt(test, s, 9223372036854775809ULL, "cdata")
rt(test, s, 18446744073709551614ULL, "cdata")
rt(test, s, 18446744073709551615ULL, "cdata")
rt(test, s, -1ULL, "cdata")
rt(test, s, ffi.new('uint8_t', 128), 'number')
rt(test, s, ffi.new('int8_t', -128), 'number')
rt(test, s, ffi.new('uint16_t', 128), 'number')
rt(test, s, ffi.new('int16_t', -128), 'number')
rt(test, s, ffi.new('uint32_t', 128), 'number')
rt(test, s, ffi.new('int32_t', -128), 'number')
rt(test, s, ffi.new('uint64_t', 128), 'number')
rt(test, s, ffi.new('int64_t', -128), 'number')
rt(test, s, ffi.new('char', 128), 'number')
rt(test, s, ffi.new('char', -128), 'number')
end
local function test_signed(test, s)
test:plan(30)
rt(test, s, -1)
rt(test, s, -1LL)
rt(test, s, -31)
rt(test, s, -31LL)
rt(test, s, -32)
rt(test, s, -32LL)
test:plan(48)
rt(test, s, -127)
rt(test, s, -127LL)
rt(test, s, -1, 'number')
rt(test, s, -1LL, 'number')
rt(test, s, -128)
rt(test, s, -128LL)
rt(test, s, -31, 'number')
rt(test, s, -31LL, 'number')
rt(test, s, -32767)
rt(test, s, -32767LL)
rt(test, s, -32, 'number')
rt(test, s, -32LL, 'number')
rt(test, s, -32768)
rt(test, s, -32768LL)
rt(test, s, -127, 'number')
rt(test, s, -127LL, 'number')
rt(test, s, -2147483647)
rt(test, s, -2147483647LL)
rt(test, s, -128, 'number')
rt(test, s, -128LL, 'number')
rt(test, s, -2147483648)
rt(test, s, -2147483648LL)
rt(test, s, -32767, 'number')
rt(test, s, -32767LL, 'number')
-- 1e53 - maximum int that can be stored to double without losing precision
rt(test, s, -32768, 'number')
rt(test, s, -32768LL, 'number')
rt(test, s, 9007199254740991)
rt(test, s, 9007199254740991ULL)
rt(test, s, 9007199254740991LL)
rt(test, s, -2147483647, 'number')
rt(test, s, -2147483647LL, 'number')
rt(test, s, 9007199254740992)
rt(test, s, 9007199254740992ULL)
rt(test, s, 9007199254740992LL)
rt(test, s, -2147483648, 'number')
rt(test, s, -2147483648LL, 'number')
rt(test, s, -9007199254740991)
rt(test, s, -9007199254740991LL)
rt(test, s, -9007199254740992)
rt(test, s, -9007199254740992LL)
-- 1e52 - maximum int that can be stored to double without losing precision
rt(test, s, -4503599627370495, "number")
rt(test, s, -4503599627370495LL, "number")
rt(test, s, -4503599627370496, "cdata")
rt(test, s, -4503599627370496LL, "cdata")
rt(test, s, -9223372036854775806LL)
rt(test, s, -9223372036854775806LL, 'cdata')
rt(test, s, -9223372036854775807LL)
rt(test, s, -9223372036854775807LL, 'cdata')
end
local function test_double(test, s)
......
......@@ -2,97 +2,177 @@ TAP version 13
# msgpack
1..9
# unsigned
1..56
1..118
ok - encode/decode for 0
ok - encode/decode type for 0
ok - encode/decode for 0LL
ok - encode/decode type for 0LL
ok - encode/decode for 0ULL
ok - encode/decode type for 0ULL
ok - encode/decode for 1
ok - encode/decode type for 1
ok - encode/decode for 1LL
ok - encode/decode type for 1LL
ok - encode/decode for 1ULL
ok - encode/decode type for 1ULL
ok - encode/decode for 127
ok - encode/decode type for 127
ok - encode/decode for 127LL
ok - encode/decode type for 127LL
ok - encode/decode for 127ULL
ok - encode/decode type for 127ULL
ok - encode/decode for 128
ok - encode/decode type for 128
ok - encode/decode for 128LL
ok - encode/decode type for 128LL
ok - encode/decode for 128ULL
ok - encode/decode type for 128ULL
ok - encode/decode for 255
ok - encode/decode type for 255
ok - encode/decode for 255LL
ok - encode/decode type for 255LL
ok - encode/decode for 255ULL
ok - encode/decode type for 255ULL
ok - encode/decode for 256
ok - encode/decode type for 256
ok - encode/decode for 256LL
ok - encode/decode type for 256LL
ok - encode/decode for 256ULL
ok - encode/decode type for 256ULL
ok - encode/decode for 65535
ok - encode/decode type for 65535
ok - encode/decode for 65535LL
ok - encode/decode type for 65535LL
ok - encode/decode for 65535ULL
ok - encode/decode type for 65535ULL
ok - encode/decode for 65536
ok - encode/decode type for 65536
ok - encode/decode for 65536LL
ok - encode/decode type for 65536LL
ok - encode/decode for 65536ULL
ok - encode/decode type for 65536ULL
ok - encode/decode for 4294967294
ok - encode/decode type for 4294967294
ok - encode/decode for 4294967294LL
ok - encode/decode type for 4294967294LL
ok - encode/decode for 4294967294ULL
ok - encode/decode type for 4294967294ULL
ok - encode/decode for 4294967295
ok - encode/decode type for 4294967295
ok - encode/decode for 4294967295LL
ok - encode/decode type for 4294967295LL
ok - encode/decode for 4294967295ULL
ok - encode/decode type for 4294967295ULL
ok - encode/decode for 4294967296
ok - encode/decode type for 4294967296
ok - encode/decode for 4294967296LL
ok - encode/decode type for 4294967296LL
ok - encode/decode for 4294967296ULL
ok - encode/decode type for 4294967296ULL
ok - encode/decode for 4294967297
ok - encode/decode type for 4294967297
ok - encode/decode for 4294967297LL
ok - encode/decode type for 4294967297LL
ok - encode/decode for 4294967297ULL
ok - encode/decode for 9.007199254741e+15
ok - encode/decode for 9007199254740992LL
ok - encode/decode for 9007199254740992ULL
ok - encode/decode type for 4294967297ULL
ok - encode/decode for 4.5035996273705e+15
ok - encode/decode type for 4.5035996273705e+15
ok - encode/decode for 4503599627370495LL
ok - encode/decode type for 4503599627370495LL
ok - encode/decode for 4503599627370495ULL
ok - encode/decode type for 4503599627370495ULL
ok - encode/decode for 4.5035996273705e+15
ok - encode/decode type for 4.5035996273705e+15
ok - encode/decode for 4503599627370496LL
ok - encode/decode type for 4503599627370496LL
ok - encode/decode for 4503599627370496ULL
ok - encode/decode type for 4503599627370496ULL
ok - encode/decode for 9223372036854775807LL
ok - encode/decode type for 9223372036854775807LL
ok - encode/decode for 9223372036854775807ULL
ok - encode/decode type for 9223372036854775807ULL
ok - encode/decode for 9223372036854775808ULL
ok - encode/decode type for 9223372036854775808ULL
ok - encode/decode for 9223372036854775809ULL
ok - encode/decode type for 9223372036854775809ULL
ok - encode/decode for 18446744073709551614ULL
ok - encode/decode type for 18446744073709551614ULL
ok - encode/decode for 18446744073709551615ULL
ok - encode/decode type for 18446744073709551615ULL
ok - encode/decode for 18446744073709551615ULL
ok - encode/decode type for 18446744073709551615ULL
ok - encode/decode for cdata<unsigned char>:
ok - encode/decode type for cdata<unsigned char>:
ok - encode/decode for cdata<char>:
ok - encode/decode type for cdata<char>:
ok - encode/decode for cdata<unsigned short>:
ok - encode/decode type for cdata<unsigned short>:
ok - encode/decode for cdata<short>:
ok - encode/decode type for cdata<short>:
ok - encode/decode for cdata<unsigned int>:
ok - encode/decode type for cdata<unsigned int>:
ok - encode/decode for cdata<int>:
ok - encode/decode type for cdata<int>:
ok - encode/decode for 128ULL
ok - encode/decode type for 128ULL
ok - encode/decode for -128LL
ok - encode/decode type for -128LL
ok - encode/decode for cdata<char>:
ok - encode/decode type for cdata<char>:
ok - encode/decode for cdata<char>:
ok - encode/decode type for cdata<char>:
# unsigned: end
ok - unsigned
# signed
1..30
1..48
ok - encode/decode for -1
ok - encode/decode type for -1
ok - encode/decode for -1LL
ok - encode/decode type for -1LL
ok - encode/decode for -31
ok - encode/decode type for -31
ok - encode/decode for -31LL
ok - encode/decode type for -31LL
ok - encode/decode for -32
ok - encode/decode type for -32
ok - encode/decode for -32LL
ok - encode/decode type for -32LL
ok - encode/decode for -127
ok - encode/decode type for -127
ok - encode/decode for -127LL
ok - encode/decode type for -127LL
ok - encode/decode for -128
ok - encode/decode type for -128
ok - encode/decode for -128LL
ok - encode/decode type for -128LL
ok - encode/decode for -32767
ok - encode/decode type for -32767
ok - encode/decode for -32767LL
ok - encode/decode type for -32767LL
ok - encode/decode for -32768
ok - encode/decode type for -32768
ok - encode/decode for -32768LL
ok - encode/decode type for -32768LL
ok - encode/decode for -2147483647
ok - encode/decode type for -2147483647
ok - encode/decode for -2147483647LL
ok - encode/decode type for -2147483647LL
ok - encode/decode for -2147483648
ok - encode/decode type for -2147483648
ok - encode/decode for -2147483648LL
ok - encode/decode for 9.007199254741e+15
ok - encode/decode for 9007199254740991ULL
ok - encode/decode for 9007199254740991LL
ok - encode/decode for 9.007199254741e+15
ok - encode/decode for 9007199254740992ULL
ok - encode/decode for 9007199254740992LL
ok - encode/decode for -9.007199254741e+15
ok - encode/decode for -9007199254740991LL
ok - encode/decode for -9.007199254741e+15
ok - encode/decode for -9007199254740992LL
ok - encode/decode type for -2147483648LL
ok - encode/decode for -4.5035996273705e+15
ok - encode/decode type for -4.5035996273705e+15
ok - encode/decode for -4503599627370495LL
ok - encode/decode type for -4503599627370495LL
ok - encode/decode for -4.5035996273705e+15
ok - encode/decode type for -4.5035996273705e+15
ok - encode/decode for -4503599627370496LL
ok - encode/decode type for -4503599627370496LL
ok - encode/decode for -9223372036854775806LL
ok - encode/decode type for -9223372036854775806LL
ok - encode/decode for -9223372036854775807LL
ok - encode/decode type for -9223372036854775807LL
# signed: end
ok - signed
# double
......
......@@ -2,97 +2,177 @@ TAP version 13
# msgpackffi
1..9
# unsigned
1..56
1..118
ok - encode/decode for 0
ok - encode/decode type for 0
ok - encode/decode for 0LL
ok - encode/decode type for 0LL
ok - encode/decode for 0ULL
ok - encode/decode type for 0ULL
ok - encode/decode for 1
ok - encode/decode type for 1
ok - encode/decode for 1LL
ok - encode/decode type for 1LL
ok - encode/decode for 1ULL
ok - encode/decode type for 1ULL
ok - encode/decode for 127
ok - encode/decode type for 127
ok - encode/decode for 127LL
ok - encode/decode type for 127LL
ok - encode/decode for 127ULL
ok - encode/decode type for 127ULL
ok - encode/decode for 128
ok - encode/decode type for 128
ok - encode/decode for 128LL
ok - encode/decode type for 128LL
ok - encode/decode for 128ULL
ok - encode/decode type for 128ULL
ok - encode/decode for 255
ok - encode/decode type for 255
ok - encode/decode for 255LL
ok - encode/decode type for 255LL
ok - encode/decode for 255ULL
ok - encode/decode type for 255ULL
ok - encode/decode for 256
ok - encode/decode type for 256
ok - encode/decode for 256LL
ok - encode/decode type for 256LL
ok - encode/decode for 256ULL
ok - encode/decode type for 256ULL
ok - encode/decode for 65535
ok - encode/decode type for 65535
ok - encode/decode for 65535LL
ok - encode/decode type for 65535LL
ok - encode/decode for 65535ULL
ok - encode/decode type for 65535ULL
ok - encode/decode for 65536
ok - encode/decode type for 65536
ok - encode/decode for 65536LL
ok - encode/decode type for 65536LL
ok - encode/decode for 65536ULL
ok - encode/decode type for 65536ULL
ok - encode/decode for 4294967294
ok - encode/decode type for 4294967294
ok - encode/decode for 4294967294LL
ok - encode/decode type for 4294967294LL
ok - encode/decode for 4294967294ULL
ok - encode/decode type for 4294967294ULL
ok - encode/decode for 4294967295
ok - encode/decode type for 4294967295
ok - encode/decode for 4294967295LL
ok - encode/decode type for 4294967295LL
ok - encode/decode for 4294967295ULL
ok - encode/decode type for 4294967295ULL
ok - encode/decode for 4294967296
ok - encode/decode type for 4294967296
ok - encode/decode for 4294967296LL
ok - encode/decode type for 4294967296LL
ok - encode/decode for 4294967296ULL
ok - encode/decode type for 4294967296ULL
ok - encode/decode for 4294967297
ok - encode/decode type for 4294967297
ok - encode/decode for 4294967297LL
ok - encode/decode type for 4294967297LL
ok - encode/decode for 4294967297ULL
ok - encode/decode for 9.007199254741e+15
ok - encode/decode for 9007199254740992LL
ok - encode/decode for 9007199254740992ULL
ok - encode/decode type for 4294967297ULL
ok - encode/decode for 4.5035996273705e+15
ok - encode/decode type for 4.5035996273705e+15
ok - encode/decode for 4503599627370495LL
ok - encode/decode type for 4503599627370495LL
ok - encode/decode for 4503599627370495ULL
ok - encode/decode type for 4503599627370495ULL
ok - encode/decode for 4.5035996273705e+15
ok - encode/decode type for 4.5035996273705e+15
ok - encode/decode for 4503599627370496LL
ok - encode/decode type for 4503599627370496LL
ok - encode/decode for 4503599627370496ULL
ok - encode/decode type for 4503599627370496ULL
ok - encode/decode for 9223372036854775807LL
ok - encode/decode type for 9223372036854775807LL
ok - encode/decode for 9223372036854775807ULL
ok - encode/decode type for 9223372036854775807ULL
ok - encode/decode for 9223372036854775808ULL
ok - encode/decode type for 9223372036854775808ULL
ok - encode/decode for 9223372036854775809ULL
ok - encode/decode type for 9223372036854775809ULL
ok - encode/decode for 18446744073709551614ULL
ok - encode/decode type for 18446744073709551614ULL
ok - encode/decode for 18446744073709551615ULL
ok - encode/decode type for 18446744073709551615ULL
ok - encode/decode for 18446744073709551615ULL
ok - encode/decode type for 18446744073709551615ULL
ok - encode/decode for cdata<unsigned char>:
ok - encode/decode type for cdata<unsigned char>:
ok - encode/decode for cdata<char>:
ok - encode/decode type for cdata<char>:
ok - encode/decode for cdata<unsigned short>:
ok - encode/decode type for cdata<unsigned short>:
ok - encode/decode for cdata<short>:
ok - encode/decode type for cdata<short>:
ok - encode/decode for cdata<unsigned int>:
ok - encode/decode type for cdata<unsigned int>:
ok - encode/decode for cdata<int>:
ok - encode/decode type for cdata<int>:
ok - encode/decode for 128ULL
ok - encode/decode type for 128ULL
ok - encode/decode for -128LL
ok - encode/decode type for -128LL
ok - encode/decode for cdata<char>:
ok - encode/decode type for cdata<char>:
ok - encode/decode for cdata<char>:
ok - encode/decode type for cdata<char>:
# unsigned: end
ok - unsigned
# signed
1..30
1..48
ok - encode/decode for -1
ok - encode/decode type for -1
ok - encode/decode for -1LL
ok - encode/decode type for -1LL
ok - encode/decode for -31
ok - encode/decode type for -31
ok - encode/decode for -31LL
ok - encode/decode type for -31LL
ok - encode/decode for -32
ok - encode/decode type for -32
ok - encode/decode for -32LL
ok - encode/decode type for -32LL
ok - encode/decode for -127
ok - encode/decode type for -127
ok - encode/decode for -127LL
ok - encode/decode type for -127LL
ok - encode/decode for -128
ok - encode/decode type for -128
ok - encode/decode for -128LL
ok - encode/decode type for -128LL
ok - encode/decode for -32767
ok - encode/decode type for -32767
ok - encode/decode for -32767LL
ok - encode/decode type for -32767LL
ok - encode/decode for -32768
ok - encode/decode type for -32768
ok - encode/decode for -32768LL
ok - encode/decode type for -32768LL
ok - encode/decode for -2147483647
ok - encode/decode type for -2147483647
ok - encode/decode for -2147483647LL
ok - encode/decode type for -2147483647LL
ok - encode/decode for -2147483648
ok - encode/decode type for -2147483648
ok - encode/decode for -2147483648LL
ok - encode/decode for 9.007199254741e+15
ok - encode/decode for 9007199254740991ULL
ok - encode/decode for 9007199254740991LL
ok - encode/decode for 9.007199254741e+15
ok - encode/decode for 9007199254740992ULL
ok - encode/decode for 9007199254740992LL
ok - encode/decode for -9.007199254741e+15
ok - encode/decode for -9007199254740991LL
ok - encode/decode for -9.007199254741e+15
ok - encode/decode for -9007199254740992LL
ok - encode/decode type for -2147483648LL
ok - encode/decode for -4.5035996273705e+15
ok - encode/decode type for -4.5035996273705e+15
ok - encode/decode for -4503599627370495LL
ok - encode/decode type for -4503599627370495LL
ok - encode/decode for -4.5035996273705e+15
ok - encode/decode type for -4.5035996273705e+15
ok - encode/decode for -4503599627370496LL
ok - encode/decode type for -4503599627370496LL
ok - encode/decode for -9223372036854775806LL
ok - encode/decode type for -9223372036854775806LL
ok - encode/decode for -9223372036854775807LL
ok - encode/decode type for -9223372036854775807LL
# signed: end
ok - signed
# double
......
......@@ -2,97 +2,177 @@ TAP version 13
# yaml
1..10
# unsigned
1..56
1..118
ok - encode/decode for 0
ok - encode/decode type for 0
ok - encode/decode for 0LL
ok - encode/decode type for 0LL
ok - encode/decode for 0ULL
ok - encode/decode type for 0ULL
ok - encode/decode for 1
ok - encode/decode type for 1
ok - encode/decode for 1LL
ok - encode/decode type for 1LL
ok - encode/decode for 1ULL
ok - encode/decode type for 1ULL
ok - encode/decode for 127
ok - encode/decode type for 127
ok - encode/decode for 127LL
ok - encode/decode type for 127LL
ok - encode/decode for 127ULL
ok - encode/decode type for 127ULL
ok - encode/decode for 128
ok - encode/decode type for 128
ok - encode/decode for 128LL
ok - encode/decode type for 128LL
ok - encode/decode for 128ULL
ok - encode/decode type for 128ULL
ok - encode/decode for 255
ok - encode/decode type for 255
ok - encode/decode for 255LL
ok - encode/decode type for 255LL
ok - encode/decode for 255ULL
ok - encode/decode type for 255ULL
ok - encode/decode for 256
ok - encode/decode type for 256
ok - encode/decode for 256LL
ok - encode/decode type for 256LL
ok - encode/decode for 256ULL
ok - encode/decode type for 256ULL
ok - encode/decode for 65535
ok - encode/decode type for 65535
ok - encode/decode for 65535LL
ok - encode/decode type for 65535LL
ok - encode/decode for 65535ULL
ok - encode/decode type for 65535ULL
ok - encode/decode for 65536
ok - encode/decode type for 65536
ok - encode/decode for 65536LL
ok - encode/decode type for 65536LL
ok - encode/decode for 65536ULL
ok - encode/decode type for 65536ULL
ok - encode/decode for 4294967294
ok - encode/decode type for 4294967294
ok - encode/decode for 4294967294LL
ok - encode/decode type for 4294967294LL
ok - encode/decode for 4294967294ULL
ok - encode/decode type for 4294967294ULL
ok - encode/decode for 4294967295
ok - encode/decode type for 4294967295
ok - encode/decode for 4294967295LL
ok - encode/decode type for 4294967295LL
ok - encode/decode for 4294967295ULL
ok - encode/decode type for 4294967295ULL
ok - encode/decode for 4294967296
ok - encode/decode type for 4294967296
ok - encode/decode for 4294967296LL
ok - encode/decode type for 4294967296LL
ok - encode/decode for 4294967296ULL
ok - encode/decode type for 4294967296ULL
ok - encode/decode for 4294967297
ok - encode/decode type for 4294967297
ok - encode/decode for 4294967297LL
ok - encode/decode type for 4294967297LL
ok - encode/decode for 4294967297ULL
ok - encode/decode for 9.007199254741e+15
ok - encode/decode for 9007199254740992LL
ok - encode/decode for 9007199254740992ULL
ok - encode/decode type for 4294967297ULL
ok - encode/decode for 4.5035996273705e+15
ok - encode/decode type for 4.5035996273705e+15
ok - encode/decode for 4503599627370495LL
ok - encode/decode type for 4503599627370495LL
ok - encode/decode for 4503599627370495ULL
ok - encode/decode type for 4503599627370495ULL
ok - encode/decode for 4.5035996273705e+15
ok - encode/decode type for 4.5035996273705e+15
ok - encode/decode for 4503599627370496LL
ok - encode/decode type for 4503599627370496LL
ok - encode/decode for 4503599627370496ULL
ok - encode/decode type for 4503599627370496ULL
ok - encode/decode for 9223372036854775807LL
ok - encode/decode type for 9223372036854775807LL
ok - encode/decode for 9223372036854775807ULL
ok - encode/decode type for 9223372036854775807ULL
ok - encode/decode for 9223372036854775808ULL
ok - encode/decode type for 9223372036854775808ULL
ok - encode/decode for 9223372036854775809ULL
ok - encode/decode type for 9223372036854775809ULL
ok - encode/decode for 18446744073709551614ULL
ok - encode/decode type for 18446744073709551614ULL
ok - encode/decode for 18446744073709551615ULL
ok - encode/decode type for 18446744073709551615ULL
ok - encode/decode for 18446744073709551615ULL
ok - encode/decode type for 18446744073709551615ULL
ok - encode/decode for cdata<unsigned char>:
ok - encode/decode type for cdata<unsigned char>:
ok - encode/decode for cdata<char>:
ok - encode/decode type for cdata<char>:
ok - encode/decode for cdata<unsigned short>:
ok - encode/decode type for cdata<unsigned short>:
ok - encode/decode for cdata<short>:
ok - encode/decode type for cdata<short>:
ok - encode/decode for cdata<unsigned int>:
ok - encode/decode type for cdata<unsigned int>:
ok - encode/decode for cdata<int>:
ok - encode/decode type for cdata<int>:
ok - encode/decode for 128ULL
ok - encode/decode type for 128ULL
ok - encode/decode for -128LL
ok - encode/decode type for -128LL
ok - encode/decode for cdata<char>:
ok - encode/decode type for cdata<char>:
ok - encode/decode for cdata<char>:
ok - encode/decode type for cdata<char>:
# unsigned: end
ok - unsigned
# signed
1..30
1..48
ok - encode/decode for -1
ok - encode/decode type for -1
ok - encode/decode for -1LL
ok - encode/decode type for -1LL
ok - encode/decode for -31
ok - encode/decode type for -31
ok - encode/decode for -31LL
ok - encode/decode type for -31LL
ok - encode/decode for -32
ok - encode/decode type for -32
ok - encode/decode for -32LL
ok - encode/decode type for -32LL
ok - encode/decode for -127
ok - encode/decode type for -127
ok - encode/decode for -127LL
ok - encode/decode type for -127LL
ok - encode/decode for -128
ok - encode/decode type for -128
ok - encode/decode for -128LL
ok - encode/decode type for -128LL
ok - encode/decode for -32767
ok - encode/decode type for -32767
ok - encode/decode for -32767LL
ok - encode/decode type for -32767LL
ok - encode/decode for -32768
ok - encode/decode type for -32768
ok - encode/decode for -32768LL
ok - encode/decode type for -32768LL
ok - encode/decode for -2147483647
ok - encode/decode type for -2147483647
ok - encode/decode for -2147483647LL
ok - encode/decode type for -2147483647LL
ok - encode/decode for -2147483648
ok - encode/decode type for -2147483648
ok - encode/decode for -2147483648LL
ok - encode/decode for 9.007199254741e+15
ok - encode/decode for 9007199254740991ULL
ok - encode/decode for 9007199254740991LL
ok - encode/decode for 9.007199254741e+15
ok - encode/decode for 9007199254740992ULL
ok - encode/decode for 9007199254740992LL
ok - encode/decode for -9.007199254741e+15
ok - encode/decode for -9007199254740991LL
ok - encode/decode for -9.007199254741e+15
ok - encode/decode for -9007199254740992LL
ok - encode/decode type for -2147483648LL
ok - encode/decode for -4.5035996273705e+15
ok - encode/decode type for -4.5035996273705e+15
ok - encode/decode for -4503599627370495LL
ok - encode/decode type for -4503599627370495LL
ok - encode/decode for -4.5035996273705e+15
ok - encode/decode type for -4.5035996273705e+15
ok - encode/decode for -4503599627370496LL
ok - encode/decode type for -4503599627370496LL
ok - encode/decode for -9223372036854775806LL
ok - encode/decode type for -9223372036854775806LL
ok - encode/decode for -9223372036854775807LL
ok - encode/decode type for -9223372036854775807LL
# signed: end
ok - signed
# double
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment