]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MEDIUM: tests: use tmpdir to create UNIX socket
authorBertrand Jacquin <bertrand@jacquin.bzh>
Sat, 17 Dec 2022 21:39:38 +0000 (21:39 +0000)
committerWilly Tarreau <w@1wt.eu>
Sun, 18 Dec 2022 11:47:20 +0000 (12:47 +0100)
testdir can be a very long directory since it depends on source
directory path, this can lead to failure during tests when UNIX socket
path exceeds maximum allowed length of 97 characters as defined in
str2sa_range().

  16:48:14 [ALERT] ***  h1    debug|    (10082) : config : parsing [/tmp/haregtests-2022-12-17_16-47-39.4RNzIN/vtc.4850.5d0d728a/h1/cfg:19] : 'bind' : socket path 'unix@/local/p4clients/pkgbuild-bB20r/workspace/build/HAProxy/HAProxy-2.7.x.68.0/AL2_x86_64/DEV.STD.PTHREAD/build/private/HAProxy-2.7.x/src/reg-tests/lua/srv3' too long (max 97)

Also, it is not advisable to create UNIX socket in actual source
directory, but instead use dedicated temporary directory create for test
purpose.

This should be backported to 2.6

reg-tests/lua/lua_httpclient.vtc

index 0850ddb5f3f21cf846540c82fe79955d0be0de02..0a274932ab237d8da3a411efca1ccc75ba4815c6 100644 (file)
@@ -51,13 +51,13 @@ haproxy h1 -conf {
 
    listen li1
        mode http
-       bind unix@${testdir}/srv3
+       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@${testdir}/srv3"
+    txreq -url "/" -hdr "vtcport: ${s1_port}" -hdr "vtcport2: ${s2_port}" -hdr "vtcport3: unix@${tmpdir}/srv3"
     rxresp
     expect resp.status == 200
 } -run