Files
haproxy/reg-tests/lua/lua_httpclient.vtc
Aurelien DARRAGON f2838f5172 REGTESTS: fix lua-based regtests using tune.lua.smp-preserve-bool
Because of the previous commit, configs making use of lua script without
setting "tune.lua.smp-preserve-bool" explicitly now raise a warning.

However, since 6f746af91 ("REGTESTS: use -dW by default on every
reg-tests"), regtests are not allowed to raise warnings anymore.

Because of this the CI now fails for every tests that relies on Lua.
To fix this, let's explicitly set the "tune.lua.smp-preserve-bool" for
all tests involving Lua. Here we set the value to "on" because we know
it is safe to do so, and this way it will be future-proof.

If ec7443827 ("MINOR: hlua: add option to preserve bool type from smp to
lua") is backported, then this patch must be backported with it (if it
is not trivial to backport, then simply follow this rule: grep for
"lua-load" in reg-tests directory, then for each match, make sure to set
the tune.smp-preserve-bool tunable in the global section.
2024-12-19 14:21:35 +01:00

75 lines
1.7 KiB
Plaintext

varnishtest "Lua: check httpclient functionality from a lua-task"
# A request if first made with c0 with the port of s1 and s2 so the httpclient
# can generate its URI with it.
#
# This reg-test sends a payload with the httpclient to s1, s1 returns another
# payload. The 2nd lua httpclient sends back the payload from s1 to s2.
#
feature cmd "$HAPROXY_PROGRAM -cc 'version_atleast(2.5-dev7)'"
feature ignore_unknown_macro
#REQUIRE_OPTIONS=LUA
server s1 {
rxreq
txresp -bodylen 54000
expect req.body ~ ".*0 ABCDEFGHIJKLMNOPQRSTUVWXYZ.*"
expect req.body ~ ".*500 ABCDEFGHIJKLMNOPQRSTUVWXYZ.*"
expect req.body ~ ".*1000 ABCDEFGHIJKLMNOPQRSTUVWXYZ.*"
expect req.body ~ ".*1500 ABCDEFGHIJKLMNOPQRSTUVWXYZ.*"
expect req.body ~ ".*2000 ABCDEFGHIJKLMNOPQRSTUVWXYZ"
} -start
server s2 {
rxreq
txresp
expect req.bodylen == 54000
} -start
server s3 {
rxreq
txresp -bodylen 54000
expect req.method == "GET"
expect req.http.host == "foobar.haproxy.local"
} -start
haproxy h1 -conf {
global
tune.lua.smp-preserve-bool on
lua-load ${testdir}/lua_httpclient.lua
defaults
timeout client 30s
timeout server 30s
timeout connect 30s
frontend fe1
mode http
bind "fd@${fe1}"
default_backend b1
backend b1
mode http
http-request use-service lua.fakeserv
listen li1
mode http
bind unix@${tmpdir}/srv3
server srv3 ${s3_addr}:${s3_port}
} -start
client c0 -connect ${h1_fe1_sock} {
txreq -url "/" -hdr "vtcport: ${s1_port}" -hdr "vtcport2: ${s2_port}" -hdr "vtcport3: unix@${tmpdir}/srv3"
rxresp
expect resp.status == 200
} -run
server s1 -wait
server s2 -wait
server s3 -wait