mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-05-01 07:18:02 +00:00
A better name was found for the option implemented inec74438
("MINOR: hlua: add option to preserve bool type from smp to lua") Indeed, "tune.lua.preserve-smp-bool {on | off}" wasn't explicit enough nor did it encourage the adoption of the new "fixed" behavior (vs historical behavior which is now considered as a bug). Thus it becomes "tune.lua.bool-sample-conversion { normal | pre-3.1-bug }" which actively encourage users to switch the new behavior after having patched in-use Lua script if needed. From a technical point of view, the logic remains the same, as the option currently defaults to "pre-3.1-bug" to prevent script breakage, and a warning is emitted if the option isn't set explicily and Lua is used. Documentation and regtests were updated. Must be backported in 3.1 withec74438
andf2838f5
("REGTESTS: fix lua-based regtests using tune.lua.smp-preserve-bool")
61 lines
1.4 KiB
Plaintext
61 lines
1.4 KiB
Plaintext
# Checks that compression doesn't cause corruption..
|
|
|
|
varnishtest "Compression validation"
|
|
#REQUIRE_OPTIONS=ZLIB|SLZ,LUA,OPENSSL
|
|
#REGTEST_TYPE=slow
|
|
|
|
feature ignore_unknown_macro
|
|
|
|
haproxy h1 -conf {
|
|
global
|
|
tune.lua.bool-sample-conversion normal
|
|
lua-load ${testdir}/lua_validation.lua
|
|
|
|
defaults
|
|
timeout client 30s
|
|
timeout server 30s
|
|
timeout connect 30s
|
|
mode http
|
|
|
|
frontend main-https
|
|
bind "fd@${fe1}" ssl crt ${testdir}/common.pem
|
|
compression algo gzip
|
|
compression type text/html text/plain application/json application/javascript
|
|
compression offload
|
|
use_backend TestBack if TRUE
|
|
|
|
backend TestBack
|
|
server LocalSrv ${h1_fe2_addr}:${h1_fe2_port}
|
|
|
|
listen fileloader
|
|
mode http
|
|
bind "fd@${fe2}"
|
|
http-request use-service lua.fileloader-http01
|
|
} -start
|
|
|
|
shell {
|
|
HOST=${h1_fe1_addr}
|
|
if [ "${h1_fe1_addr}" = "::1" ] ; then
|
|
HOST="\[::1\]"
|
|
fi
|
|
|
|
md5=$(command -v md5 || command -v md5sum)
|
|
|
|
if [ -z $md5 ] ; then
|
|
echo "MD5 checksum utility not found"
|
|
exit 1
|
|
fi
|
|
|
|
expectchecksum="4d9c62aa5370b8d5f84f17ec2e78f483"
|
|
|
|
for opt in "" "--limit-rate 300K" "--limit-rate 500K" ; do
|
|
checksum=$(curl --max-time 15 --compressed -k "https://$HOST:${h1_fe1_port}" $opt | $md5 | cut -d ' ' -f1)
|
|
if [ "$checksum" != "$expectchecksum" ] ; then
|
|
echo "Expecting checksum $expectchecksum"
|
|
echo "Received checksum: $checksum"
|
|
exit 1;
|
|
fi
|
|
done
|
|
|
|
} -run
|