On 10/01/2018 08:59 PM, PiBa-NL wrote:
Hi Frederic,

Op 1-10-2018 om 16:09 schreef Frederic Lecaille:
- /connection/b00000.vtc
probably does not 'really' need abns@ sockets, so changing to unix@ would make it testable on more platforms?
Correct. I agree I did not think to replace this part specific to Linux.
Should i send a patch changing that? Or can you fix it easily ;)

Yes, feel free to send a patch for that.

- /log/b00000.vtc
Not exactly sure why this fails/why it was supposed to work.
It either produces a timeout, or the s1 server fails to read the request which the tcp-healthcheck does not send..

     ***  s1    0.0 accepted fd 5 23986
     **   s1    0.0 === rxreq
     ---- s1    0.0 HTTP rx failed (fd:5 read: Connection reset by peer)

Perhaps the syslog traces could give us more information about what is happening here.
Afaik the 'check' on the server line is failing to send a GET / request.. My other mail has a bit more ideas about that..

- /seamless-reload/b00000.vtc
This one specifically mentions testing a abns@ socket functionality. so changing it to a unix@ socket likely changes the test in such a way its no longer testing what it was meant for..
What would be the best way to skip this test on FreeBSD?

Perhaps we should use the TARGET value to select the VTC files directories which should be selected for the OSes.

By default for linux all VTC files in reg-tests directory should be run (found with find command without -L option, so that not to follow the symbolic link).

For instance for freebsd OS we would create reg-tests/freebsd directory
with symbolic links to the linux reg-tests subdirectories it supports.
I think creating a list of tests that could be run on FreeBSD will take a lot of maintenance and i assume 'most' tests will actually be runnable on most OS's. So having short list with exceptions is probably easier to maintain. In my opinion every test should be run on every os unless there is some good reason not to run it (abns/splicing/stuff..). And if possible the reason to exclude a specific test should be described (a single line of text could be enough).

I did not mention to create new tests for each OSes. All VTC files would be created in directories below reg-tests directories. They would be the union of all VTC files supported by all the OSes supported by HAProxy. reg-tests directory would contain directories for each OSes with symbolic links to the directories previously mentioned, if they contain
VTC files supported by this OS.

Something like that:


    log -> ../log
    abns -> ../abns

     log -> ../log

The even bigger issue that Willy raised is with compilation options not including lua/ssl/gzip/threads/ stuff, and having lots of tests fail on those, while they should get skipped if they rely on a feature not compiled. I discussed this also a bit with Willy in the other mail thread ( https://www.mail-archive.com/haproxy@formilux.org/msg31345.html ), but i don't think we have defined the perfect way to do it yet..

So that part of the question still stands ;) .. Whats the best way to skip tests that are not applicable?

At this time I do not know how to skip the tests which are not supported
due to disable features at compilation time without running a "haproxy -vv" command before launching the VTC files.

PiBa-NL (Pieter)

Reply via email to