Commit 74c348da authored by Geoff Simmons's avatar Geoff Simmons

add test d00012.vtc

parent 83dd6264
varnishtest "Test a dynamic backend discard during a request"
# vcl.discard testing inspired by v00006.vtc from commit e1f7207
server s1 {
rxreq
expect req.url == "/foo"
sema r1 sync 2
txresp
} -start
varnish v1 -arg "-p thread_pools=1" -vcl {
import backend_dyn from "${vmod_topbuild}/src/.libs/libvmod_backend_dyn.so";
backend dummy { .host = "${bad_ip}"; }
sub vcl_init {
if (!backend_dyn.create(name="s1", host="${s1_addr}",
port="${s1_port}")) {
return(fail);
}
}
sub vcl_recv {
set req.backend_hint = backend_dyn.by_name("s1");
}
} -start
client c1 {
txreq -url "/foo"
rxresp
expect resp.status == 200
} -start
varnish v1 -expect MAIN.n_backend == 2
# expected: vcl1.dummy, vcl1.s1
server s2 {
rxreq
expect req.url == "/bar"
txresp
} -start
varnish v1 -vcl {
import backend_dyn from "${vmod_topbuild}/src/.libs/libvmod_backend_dyn.so";
backend dummy { .host = "${bad_ip}"; }
sub vcl_init {
if (!backend_dyn.create(name="s2", host="${s2_addr}",
port="${s2_port}")) {
return(fail);
}
}
sub vcl_recv {
set req.backend_hint = backend_dyn.by_name("s2");
}
}
varnish v1 -cli "vcl.discard vcl1"
sema r1 sync 2
client c1 -wait
delay 2
varnish v1 -expect MAIN.n_backend == 4
# expected: vcl1.dummy, vcl1.s1, vcl2.dummy, vcl2.s2
varnish v1 -expect n_vcl_avail == 1
varnish v1 -expect n_vcl_discard == 1
client c1 {
txreq -url "/bar"
rxresp
expect resp.status == 200
} -run
varnish v1 -cli "vcl.list"
varnish v1 -expect MAIN.n_backend == 2
# expected: vcl2.dummy, vcl2.s2
varnish v1 -expect n_vcl_avail == 1
varnish v1 -expect n_vcl_discard == 0
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment