The tests require ncat --sctp, which doesn't exist on FreeBSD, so expect
the tests to fail.
This will fix 2 deterministic failures that occur in the dtrace_test job..
MFC after: 2 weeks
Differential D20017
Expect *localsctp* to fail ngie on Apr 22 2019, 10:28 PM. Authored by
Details The tests require ncat --sctp, which doesn't exist on FreeBSD, so expect This will fix 2 deterministic failures that occur in the dtrace_test job.. MFC after: 2 weeks Verified that the tests are expected to fail: 90 atf_test_case tst_ipv4localsctp_ksh 91 tst_ipv4localsctp_ksh_head() 92 { 93 atf_set 'descr' 'DTrace test common/ip/tst.ipv4localsctp.ksh' 94 } 95 tst_ipv4localsctp_ksh_body() 96 { 97 atf_expect_fail "test is known to fail" 98 atf_check -s exit:0 -o empty -e empty \ 99 "$(atf_get_srcdir)/../../dtest" "$(atf_get_srcdir)/tst.ipv4localsctp.ksh" 100 } 101 atf_test_case tst_localsctpstate_ksh 102 tst_localsctpstate_ksh_head() 103 { 104 atf_set 'descr' 'DTrace test common/ip/tst.localsctpstate.ksh' 105 } 106 tst_localsctpstate_ksh_body() 107 { 108 atf_expect_fail "test is known to fail" 109 atf_check -s exit:0 -o empty -e empty \ 110 "$(atf_get_srcdir)/../../dtest" "$(atf_get_srcdir)/tst.localsctpstate.ksh" 111 }
Diff Detail
Event TimelineComment Actions It looks these tests require ncat but not netcat. I'll check if the test image has this port installed. Comment Actions OK, I just check we have nmap in the test vm image and it does the work: https://github.com/freebsd/freebsd-ci/commit/689e19c8c71e1892f476c9ef9392f6b443d0ed15 Comment Actions I'm debugging this now. Seems to be a kernel issue. Will let you know once I have understood and fixed the issue. Is using ncat and issue? Comment Actions
$ which nc /usr/bin/nc $ which ncat || echo not found not found
These tests need to be written to implement an SCTP server of some kind. The perl APIs might be the right way to do this. Comment Actions ncat isn't available on FreeBSD. The fact that there isn't a listening ncat service will mean that the test will not properly setup the necessary preconditions in order to test out the functionality. Comment Actions ncat is available in the ports tree. Is that an issue? The tests also use a ksh or ksh93, which is also available only in the ports tree... Comment Actions ncat is from nmap port and has nothing to do with nc, their names are similar but they are different things. It's fine to install tests requirements from ports, after all, kyua is installed from ports and it's an essential tool for running the tests. For marking the tests, what I was saying is "skip the tests (and not report failure) when there is no nmap (ncat) installed, and have a message to users to install nmap." Comment Actions Oh, ok. I didn’t realize that nmap provided that capability. I was trying to repro this and I didn’t have it installed beforehand; I’ll try it and see if it works. As for checking for the programs, I’ll see about adding this support to the test generator; I don’t think it has require.progs support, yet. Comment Actions OK, I have figured out why the tests are failing. The problem is the discard server: ncat --sctp --listen $local $sctpport & Once an association is established, it figures out via select that stdin is readable, it reads 0 bytes from stdin and terminates. The perl connection setup figures out that the connection it tries to establish gets closed and reports an error. So the best seems to be to use a perl based discard server... This avoids the ncat dependency and fixes the tests. Will open |