mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-02-13 17:07:31 +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.
38 lines
755 B
Plaintext
38 lines
755 B
Plaintext
varnishtest "Try to start a master CLI with 2 programs"
|
|
#REGTEST_TYPE=bug
|
|
feature cmd "command -v sleep"
|
|
|
|
feature ignore_unknown_macro
|
|
|
|
# Do nothing. Is there only to create s1_* macros
|
|
server s1 {
|
|
} -start
|
|
|
|
haproxy h1 -W -S -conf {
|
|
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}
|
|
|
|
program foo
|
|
command sleep 10
|
|
|
|
program bar
|
|
command sleep 10
|
|
|
|
} -start
|
|
|
|
haproxy h1 -mcli {
|
|
delay 0.1
|
|
send "show proc"
|
|
expect ~ ".*foo.*\n.*bar.*\n"
|
|
} -wait
|