# commit b4dd15b
# BUG/MINOR: unix: Make sure we can transfer abns sockets on seamless reload.
#
# When checking if a socket we got from the parent is suitable for a listener,
# we just checked that the path matched sockname.tmp, however this is
# unsuitable for abns sockets, where we don't have to create a temporary
# file and rename it later.
# To detect that, check that the first character of the sun_path is 0 for
# both, and if so, that &sun_path[1] is the same too.

varnishtest "Seamless reload issue with abns sockets"
feature ignore_unknown_macro

# expose-fd is available starting at version 1.8
#REQUIRE_VERSION=1.8
# abns@ sockets are not available on freebsd
#EXCLUDE_TARGETS=freebsd

haproxy h1 -W -conf {
  global
    stats socket ${tmpdir}/h1/stats level admin expose-fd listeners

  defaults
    mode http
    log global
    option httplog
    timeout connect         15ms
    timeout client          20ms
    timeout server          20ms

  listen testme
    bind "fd@${testme}"
    server test_abns_server abns@wpproc1 send-proxy-v2

  frontend test_abns
    bind abns@wpproc1 accept-proxy
    http-request deny deny_status 200
} -start

shell {
  kill -USR2 $(cat ${tmpdir}/h1/pid)
}

client c1 -connect ${h1_testme_sock} {
    txreq -url "/"
    rxresp
} -repeat 50 -run

