haproxy/reg-tests/http-set-timeout/set_timeout.vtc
Vladimir Vdovin f8b81f6eb7 MINOR: support for http-request set-timeout client
Added set-timeout for frontend side of session, so it can be used to set
custom per-client timeouts if needed. Added cur_client_timeout to fetch
client timeout samples.
2023-09-28 08:49:22 +02:00

127 lines
2.8 KiB
Plaintext

varnishtest "http-request set-timeout test"
feature ignore_unknown_macro
#REQUIRE_VERSION=2.4
server srv_h1 -repeat 5 {
rxreq
txresp
} -start
syslog Slog1 -level info {
recv
expect ~ "^.*timeout: 5000 5000.*$"
} -start
syslog Slog2 -level info {
recv
expect ~ "^.*timeout: 5000 5000.*$"
} -start
syslog Slog3 -level info {
recv
expect ~ "^.*timeout: 5000 3000.*$"
} -start
syslog Slog4 -level info {
recv
expect ~ "^.*timeout: 5000 5000.*$"
} -start
syslog Slog5 -level info {
recv
expect ~ "^.*timeout: 5000 3000.*$"
} -start
haproxy hap -conf {
defaults
timeout connect 5s
timeout client 5s
timeout server 5s
log global
listen li1
mode http
bind "fd@${li1}"
log-format "timeout: %[be_server_timeout] %[cur_server_timeout]"
log ${Slog1_addr}:${Slog1_port} len 2048 local0 debug err
server srv_h1 ${srv_h1_addr}:${srv_h1_port}
listen li2
mode http
bind "fd@${li2}"
log-format "timeout: %[be_server_timeout] %[cur_server_timeout]"
log ${Slog2_addr}:${Slog2_port} len 2048 local0 debug err
http-request set-timeout server 5s
server srv_h1 ${srv_h1_addr}:${srv_h1_port}
listen li3
mode http
bind "fd@${li3}"
log-format "timeout: %[fe_client_timeout] %[cur_client_timeout]"
log ${Slog4_addr}:${Slog4_port} len 2048 local0 debug err
http-request set-timeout client 5s
server srv_h1 ${srv_h1_addr}:${srv_h1_port}
frontend fe1
mode http
bind "fd@${fe1}"
log-format "timeout: %[be_server_timeout] %[cur_server_timeout]"
log ${Slog3_addr}:${Slog3_port} len 2048 local0 debug err
default_backend be1
backend be1
mode http
http-request set-timeout server int(3),mul(1000)
server srv_h1 ${srv_h1_addr}:${srv_h1_port}
frontend fe2
mode http
bind "fd@${fe2}"
log-format "timeout: %[fe_client_timeout] %[cur_client_timeout]"
log ${Slog5_addr}:${Slog5_port} len 2048 local0 debug err
http-request set-timeout client int(3),mul(1000)
default_backend be2
backend be2
mode http
server srv_h1 ${srv_h1_addr}:${srv_h1_port}
} -start
client c1 -connect ${hap_li1_sock} {
txreq
rxresp
expect resp.status == 200
} -run
client c2 -connect ${hap_li2_sock} {
txreq
rxresp
expect resp.status == 200
} -run
client c3 -connect ${hap_fe1_sock} {
txreq
rxresp
expect resp.status == 200
} -run
client c4 -connect ${hap_li3_sock} {
txreq
rxresp
expect resp.status == 200
} -run
client c5 -connect ${hap_fe2_sock} {
txreq
rxresp
expect resp.status == 200
} -run
syslog Slog1 -wait
syslog Slog2 -wait
syslog Slog3 -wait
syslog Slog4 -wait
syslog Slog5 -wait