From: Thomas Markwalder Date: Fri, 9 Apr 2021 11:26:46 +0000 (-0400) Subject: [#1733] Fixed HA unit test issue X-Git-Tag: Kea-1.9.7~78 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8a41527d8a1225c20fd0cfc83658bfe15120d689;p=thirdparty%2Fkea.git [#1733] Fixed HA unit test issue src/hooks/dhcp/high_availability/libloadtests/close_unittests.cc Set SO_REUSEADDR so back to back runs of HA unit tests do not fail. --- diff --git a/src/hooks/dhcp/high_availability/libloadtests/close_unittests.cc b/src/hooks/dhcp/high_availability/libloadtests/close_unittests.cc index 67e27b1009..04f8b4d4c0 100644 --- a/src/hooks/dhcp/high_availability/libloadtests/close_unittests.cc +++ b/src/hooks/dhcp/high_availability/libloadtests/close_unittests.cc @@ -184,6 +184,13 @@ CloseHATest::runPartners() { if (fcntl(accept_partner1, F_SETFL, O_NONBLOCK) < 0) { isc_throw(Unexpected, "fcntl1 " << strerror(errno)); } + + int reuse_addr = 1; + if (setsockopt(accept_partner1, SOL_SOCKET, SO_REUSEADDR, + (char *)&reuse_addr, sizeof(reuse_addr)) < 0) { + isc_throw(Unexpected, "partner1 setsocketopt SO_REUSEADDR failed: " << strerror(errno)); + } + partner.sin_port = htons(18124); if (::bind(accept_partner1, SA(&partner), slen) < 0) { isc_throw(Unexpected, "bind1 " << strerror(errno)); @@ -199,6 +206,12 @@ CloseHATest::runPartners() { if (fcntl(accept_partner2, F_SETFL, O_NONBLOCK) < 0) { isc_throw(Unexpected, "fcntl2 " << strerror(errno)); } + + if (setsockopt(accept_partner2, SOL_SOCKET, SO_REUSEADDR, + (char *)&reuse_addr, sizeof(reuse_addr)) < 0) { + isc_throw(Unexpected, "partner2 setsocketopt SO_REUSEADDR failed: " << strerror(errno)); + } + partner.sin_port = htons(18125); if (::bind(accept_partner2, SA(&partner), slen) < 0) { isc_throw(Unexpected, "bind2 " << strerror(errno));