diff --git a/test/box/bsdsocket.result b/test/box/bsdsocket.result index a1443a1f7c75967785d3aede83d33a1525b9dead..ed1c49e1642f90abf06db144c852ee19c2146e9e 100644 --- a/test/box/bsdsocket.result +++ b/test/box/bsdsocket.result @@ -1207,3 +1207,34 @@ os.remove(path) --- - true ... +longstring = string.rep("abc", 65535) +--- +... +server = socket.tcp_server('unix/', path, function(s) s:write(longstring) end) +--- +... +client = socket.tcp_connect('unix/', path) +--- +... +client:read(#longstring) == longstring +--- +- true +... +client = socket.tcp_connect('unix/', path) +--- +... +client:read(#longstring + 1) == longstring +--- +- true +... +client = socket.tcp_connect('unix/', path) +--- +... +client:read(#longstring - 1) == string.sub(longstring, 1, #longstring - 1) +--- +- true +... +os.remove(path) +--- +- true +... diff --git a/test/box/bsdsocket.test.lua b/test/box/bsdsocket.test.lua index 1d51a54a7a2b01499f2bde878b73478597871901..2c6cd38cdc0f9902b6e5826a34fa5f4dac14d513 100644 --- a/test/box/bsdsocket.test.lua +++ b/test/box/bsdsocket.test.lua @@ -390,17 +390,29 @@ os.remove(path) server = socket.tcp_server('unix/', path, function(s) s:write('Hello, world') end) - server ~= nil - fiber.sleep(.5) +client = socket.tcp_connect('unix/', path) +client ~= nil +client:read(123) +server:stop() +os.remove(path) + + +longstring = string.rep("abc", 65535) + +server = socket.tcp_server('unix/', path, function(s) s:write(longstring) end) client = socket.tcp_connect('unix/', path) +client:read(#longstring) == longstring + +client = socket.tcp_connect('unix/', path) +client:read(#longstring + 1) == longstring + +client = socket.tcp_connect('unix/', path) +client:read(#longstring - 1) == string.sub(longstring, 1, #longstring - 1) -client ~= nil -client:read(123) -server:stop() os.remove(path)