From e07a75c76455fc035547a975ae19c24325fff0f3 Mon Sep 17 00:00:00 2001 From: Amaury Denoyelle Date: Mon, 2 Mar 2026 08:51:46 +0100 Subject: [PATCH] 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. --- reg-tests/proxy/cli_del_backend.vtc | 30 +++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) 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." +}