see https://www.mail-archive.com/haproxy@formilux.org/msg31015.html --- reg-tests/lua/h00001.lua | 15 +++++++++++++++ reg-tests/lua/h00001.vtc | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 reg-tests/lua/h00001.lua create mode 100644 reg-tests/lua/h00001.vtc
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 + +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 -- 2.18.0