mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-19 10:14:41 +00:00
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.
47 lines
1.0 KiB
Plaintext
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
|