haproxy/reg-tests/mcli/mcli_debug_dev.vtc
Valentine Krasnobaeva 5bbcdc003a REGTESTS: cli: add delay 0.1 before connect to cli
When vtest starts haproxy process, it loops until the moment, when haproxy
pidfile is created. When pidfile is created, vtest considers that haproxy
process is ready and it starts to perform test commands, in particular, it
connects to CLI. It's not very reliable approach to base the check of the
process readiness on the PID file. After master-worker architecture
refactoring pidfile is created in the early init stage, but master and worker
are not yet finished its initialization routines. So, all mcli tests and some
tests where we sent commands to CLI start to fail regularly.

In vtest at the moment there is no any other approach to check that the
process is really ready. So let's add a delay 0.1s before connecting to CLI in
all mcli tests and in acl_cli_spaces test.
2024-10-16 22:00:58 +02:00

47 lines
1.0 KiB
Plaintext

varnishtest "Test master CLI multiple commands with export-mode"
# This test only checks if the master CLI parsing with pipelined commands is working:
#
# - @1 must be skipped and allow to select the worker
# - expert-mode must be skipped and allow to send expert-mode for every command to the worker
# - dev log must send a log to the syslog
feature ignore_unknown_macro
# Do nothing. Is there only to create s1_* macros
server s1 {
} -start
syslog S1 -level info {
recv
expect ~ ".*Victory\n"
} -start
haproxy h1 -W -S -conf {
global
log ${S1_addr}:${S1_port} local0 info
defaults
mode http
timeout connect "${HAPROXY_TEST_TIMEOUT-5s}"
timeout client "${HAPROXY_TEST_TIMEOUT-5s}"
timeout server "${HAPROXY_TEST_TIMEOUT-5s}"
frontend myfrontend
bind "fd@${my_fe}"
default_backend test
backend test
server www1 ${s1_addr}:${s1_port}
} -start
haproxy h1 -mcli {
delay 0.1
send "@1; expert-mode on; debug dev log Victory"
expect ~ ".*"
} -wait
syslog S1 -wait