Commit 3705ca88 authored by Geoff Simmons's avatar Geoff Simmons

Verify 'called without prior match' error handling for .sub().

parent 6982889d
......@@ -128,3 +128,44 @@ client c1 {
expect resp.http.N-6 == "barbar"
expect resp.http.N-7 == "/?foobar=2"
} -run
varnish v1 -vcl {
import ${vmod_selector};
import std;
backend b { .host = "${bad_ip}"; }
sub vcl_init {
new s = selector.set();
s.add("foo", regex="bar");
}
sub vcl_recv {
return (synth(200));
}
sub vcl_synth {
set resp.http.Sub = s.sub("foo", "bar");
set resp.http.Sub-False = s.sub("foo", "bar", false);
set resp.http.Suball = s.sub("foo", "bar", true);
return (deliver);
}
}
logexpect l1 -v v1 -d 0 -g vxid -q "VCL_Error" {
expect 0 * Begin req
expect * = VCL_Error {^vmod selector error: s\.sub\(\) called without prior match$}
expect * = VCL_Error {^vmod selector error: s\.sub\(\) called without prior match$}
expect * = VCL_Error {^vmod selector error: s\.sub\(\) called without prior match$}
expect * = End
} -start
client c1 {
txreq
rxresp
expect resp.status == 200
expect resp.http.Sub == ""
expect resp.http.Sub-False == ""
expect resp.http.Suball == ""
} -run
logexpect l1 -wait
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