From: Amaury Denoyelle Date: Mon, 2 Mar 2026 07:51:46 +0000 (+0100) Subject: REGTESTS: complete "del backend" with unnamed defaults ref free X-Git-Tag: v3.4-dev6~39 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e07a75c76455fc035547a975ae19c24325fff0f3;p=thirdparty%2Fhaproxy.git REGTESTS: complete "del backend" with unnamed defaults ref free Complete delete backend regtests by checking deletion of a proxy with a reference on an unnamed defaults instance. This operation is sensible as the defaults refcount is decremented, and when the last backend is removed, the defaults is also freed. --- diff --git a/reg-tests/proxy/cli_del_backend.vtc b/reg-tests/proxy/cli_del_backend.vtc index a78e2c0c3..4eb17070a 100644 --- a/reg-tests/proxy/cli_del_backend.vtc +++ b/reg-tests/proxy/cli_del_backend.vtc @@ -25,6 +25,18 @@ haproxy h1 -conf { backend be server s1 ${s1_addr}:${s1_port} disabled + + # Defaults with tcp-check rules in it + # Currently this is the only case of runtime ref on an unnamed default + defaults + mode http + timeout connect "${HAPROXY_TEST_TIMEOUT-5s}" + timeout client "${HAPROXY_TEST_TIMEOUT-5s}" + timeout server "${HAPROXY_TEST_TIMEOUT-5s}" + option httpchk GET / HTTP/1.1 + + backend be_unnamed_def_ref + backend be_unnamed_def_ref2 } -start haproxy h1 -cli { @@ -56,3 +68,21 @@ haproxy h1 -cli { send "show stat be 2 -1" expect !~ "be,BACKEND," } + +haproxy h1 -cli { + send "show stat be_unnamed_def_ref 2 -1" + expect ~ "be_unnamed_def_ref,BACKEND," + + send "unpublish backend be_unnamed_def_ref;" + expect ~ ".*" + send "experimental-mode on; del backend be_unnamed_def_ref" + expect ~ "Backend deleted." + + send "show stat be_unnamed_def_ref 2 -1" + expect !~ "be_unnamed_def_ref,BACKEND," + + send "unpublish backend be_unnamed_def_ref2;" + expect ~ ".*" + send "experimental-mode on; del backend be_unnamed_def_ref2" + expect ~ "Backend deleted." +}