Commit 0b775774 authored by Geoff Simmons's avatar Geoff Simmons

Add more tests for backref failure.

parent 703c622f
......@@ -78,6 +78,28 @@ varnish v1 -vcl {
if (barbaz.match("barbaz")) {
set resp.http.bar0 = barbaz.backref(0, "error0");
}
# match fails
set resp.http.frob1 = frobnitz.match("barbaz");
# ... so all backrefs fail
set resp.http.frob1-0 = frobnitz.backref(0, "error0");
set resp.http.frob1-1 = frobnitz.backref(1, "error1");
set resp.http.frob1-2 = frobnitz.backref(2, "error2");
# match succeeds, then fails again
set resp.http.frob-yes = frobnitz.match("frobnitz");
set resp.http.frob-no = frobnitz.match("barbaz");
# ... so all backrefs fail, despite previous match
set resp.http.frob2-0 = frobnitz.backref(0, "error0");
set resp.http.frob2-1 = frobnitz.backref(1, "error1");
set resp.http.frob2-2 = frobnitz.backref(2, "error2");
# backref 2 is unset
set resp.http.azbc = azbc.match("abc");
set resp.http.azbc-0 = azbc.backref(0, "error0");
set resp.http.azbc-1 = azbc.backref(1, "error1");
set resp.http.azbc-2 = azbc.backref(2, "error2");
set resp.http.azbc-3 = azbc.backref(3, "error3");
}
}
......@@ -87,10 +109,31 @@ client c1 -repeat 2 {
expect resp.status == "200"
expect resp.http.nomatch == "fallback"
expect resp.http.bar0 == "barbaz"
expect resp.http.frob1 == "false"
expect resp.http.frob1-0 == "error0"
expect resp.http.frob1-1 == "error1"
expect resp.http.frob1-2 == "error2"
expect resp.http.frob-yes == "true"
expect resp.http.frob-no == "false"
expect resp.http.frob2-0 == "error0"
expect resp.http.frob2-1 == "error1"
expect resp.http.frob2-2 == "error2"
expect resp.http.azbc == "true"
expect resp.http.azbc-0 == "abc"
expect resp.http.azbc-1 == "a"
expect resp.http.azbc-2 == "error2"
expect resp.http.azbc-3 == "bc"
} -run
logexpect l1 -v v1 -d 1 -g vxid -q "VCL_Error" {
expect 0 * Begin req
expect * = VCL_Error "^vmod pcre2 error: barbaz.backref.0. called without prior match$"
expect * = VCL_Error "^vmod pcre2 error: in frobnitz.backref.0.: no match$"
expect * = VCL_Error "^vmod pcre2 error: in frobnitz.backref.1.: no match$"
expect * = VCL_Error "^vmod pcre2 error: in frobnitz.backref.2.: no match$"
expect * = VCL_Error "^vmod pcre2 error: in frobnitz.backref.0.: no match$"
expect * = VCL_Error "^vmod pcre2 error: in frobnitz.backref.1.: no match$"
expect * = VCL_Error "^vmod pcre2 error: in frobnitz.backref.2.: no match$"
expect * = VCL_Error "^vmod pcre2 error: in azbc.backref.2.: requested value is not set$"
expect * = End
} -run
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