Hello Tim, Thank you a lot for this reg testing file.
Just a little detail (see below). Also note that -run is a shorcut for -start -wait. Regards. On 08/22/2018 02:47 PM, Tim Duesterhus wrote:
diff --git a/reg-tests/lua/h00001.lua b/reg-tests/lua/h00001.lua new file mode 100644 index 00000000..999ea887 --- /dev/null +++ b/reg-tests/lua/h00001.lua @@ -0,0 +1,15 @@ +core.register_action("bug", { "http-res" }, function(txn) + data = txn:get_priv() + if not data then + data = 0 + end + data = data + 1 + print(string.format("set to %d", data)) + txn.http:res_set_status(200 + data) + txn:set_priv(data) +end) + +core.register_service("fakeserv", "http", function(applet) + applet:set_status(200) + applet:start_response() +end) diff --git a/reg-tests/lua/h00001.vtc b/reg-tests/lua/h00001.vtc new file mode 100644 index 00000000..b11f21c9 --- /dev/null +++ b/reg-tests/lua/h00001.vtc @@ -0,0 +1,36 @@ +varnishtest "Lua: txn:get_priv() scope" +feature ignore_unknown_macro +
's1' server is useless in this case because 'h1' haproxy configuration below does not use any server as backend.
+server s1 -repeat 2 { + rxreq + txresp +} -start + +haproxy h1 -conf { + global + lua-load ${testdir}/h00001.lua + + frontend fe1 + mode http + bind "fd@${fe1}" + default_backend b1 + + http-response lua.bug + + backend b1 + mode http + http-request use-service lua.fakeserv +} -start + +client c0 -connect ${h1_fe1_sock} { + txreq -url "/" + rxresp + expect resp.status == 201 + txreq -url "/" + rxresp + expect resp.status == 201 +} + +client c0 -start + +client c0 -wait