File: net.box_connect_timeout_gh-2054.test.lua

package info (click to toggle)
tarantool 2.6.0-1.4
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 85,412 kB
  • sloc: ansic: 513,775; cpp: 69,493; sh: 25,650; python: 19,190; perl: 14,973; makefile: 4,178; yacc: 1,329; sql: 1,074; pascal: 620; ruby: 190; awk: 18; lisp: 7
file content (40 lines) | stat: -rw-r--r-- 1,073 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
fiber = require 'fiber'
test_run = require('test_run').new()
net = require('net.box')

-- Test for connect_timeout > 0 in netbox connect
test_run:cmd("setopt delimiter ';'");
need_stop = false;
greeting =
"Tarantool 1.7.3 (Lua console)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n" ..
"type 'help' for interactive help~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n";
socket = require('socket');
srv = socket.tcp_server('localhost', 0, {
    handler = function(fd)
        local fiber = require('fiber')
        while not need_stop do
            fiber.sleep(0.01)
        end
        fd:write(greeting)
    end
});
port = srv:name().port
-- we must get timeout
nb = net.new('localhost:' .. port, {
    wait_connected = true, console = true,
    connect_timeout = 0.1
});
nb.error:find('timed out') ~= nil;
need_stop = true
nb:close();
-- we must get peer closed
nb = net.new('localhost:' .. port, {
    wait_connected = true, console = true,
    connect_timeout = 0.2
});
nb.error ~= "Timeout exceeded";
nb:close();
test_run:cmd("setopt delimiter ''");
srv:close()

test_run:cmd("clear filter")