Ncat: Add tests for idle timeout in listen mode

This patch adds tests for idle timeout in listen mode
for all supported protocols. It also modifies existing
test for idle time in connection mode to test the option
for all supported protocols.

Signed-off-by: Tomas Hozza <thozza@redhat.com>
This commit is contained in:
david 2013-06-30 06:08:45 +00:00
parent 5c4207f009
commit 73d4b0f0a0

View file

@ -1140,7 +1140,7 @@ kill_children;
# Test that both reads and writes reset the idle counter, and that the client
# properly exits after the timeout expires.
server_client_test "idle timeout",
server_client_test_all "idle timeout (connect mode)",
[], ["-i", "3000ms"], sub {
my $resp;
@ -1158,6 +1158,48 @@ server_client_test "idle timeout",
!$resp or die "Client received \"$resp\" after delay of 4000 ms with idle timeout of 3000 ms."
};
# Test that both reads and writes reset the idle counter, and that the server
# properly exits after the timeout expires.
server_client_test_tcp_sctp_ssl "idle timeout (listen mode)",
["-i", "3000ms"], [], sub {
my $resp;
syswrite($s_in, "abc\n");
$resp = timeout_read($c_out) or die "Read timeout";
sleep 2;
syswrite($c_in, "abc\n");
$resp = timeout_read($s_out) or die "Read timeout";
sleep 2;
syswrite($s_in, "abc\n");
$resp = timeout_read($c_out) or die "Read timeout";
sleep 4;
syswrite($c_in, "abc\n");
$resp = timeout_read($s_out);
!$resp or die "Server received \"$resp\" after delay of 4000 ms with idle timeout of 3000 ms."
};
server_client_test_multi ["udp"], "idle timeout (listen mode)",
["-i", "3000ms"], [], sub {
my $resp;
# when using UDP client must at least write something to the server
syswrite($c_in, "abc\n");
$resp = timeout_read($s_out) or die "Server didn't receive the message";
syswrite($s_in, "abc\n");
$resp = timeout_read($c_out) or die "Read timeout";
sleep 2;
syswrite($c_in, "abc\n");
$resp = timeout_read($s_out) or die "Read timeout";
sleep 2;
syswrite($s_in, "abc\n");
$resp = timeout_read($c_out) or die "Read timeout";
sleep 4;
syswrite($c_in, "abc\n");
$resp = timeout_read($s_out);
!$resp or die "Server received \"$resp\" after delay of 4000 ms with idle timeout of 3000 ms."
};
# --send-only tests.
server_client_test_all "--send-only client",