Only test multi accept if reuse port supported
authorDave Watson <davejwatson@fb.com>
Wed, 10 Dec 2014 22:34:00 +0000 (14:34 -0800)
committerDave Watson <davejwatson@fb.com>
Thu, 11 Dec 2014 16:02:10 +0000 (08:02 -0800)
Summary: Some contbuild machines aren't on 3.10 yet.

Test Plan:
fbconfig folly/experimental/wangle/bootstrap; fbmake runtests
tested on 3.2 and 3.10

Reviewed By: jsedgwick@fb.com

Subscribers: doug, fugalh, folly-diffs@

FB internal diff: D1732040

Tasks: 5800250

Signature: t1:1732040:1418250452:a3203ab5769494594f2bf0b50f1c62052ddeb24c

folly/experimental/wangle/bootstrap/BootstrapTest.cpp
folly/experimental/wangle/bootstrap/ServerBootstrap.h

index b3cf00da0e8f96a88196412824f1ad0c6361b7f4..25bb75ea1bef9414a15db3f68f94f638fbaa4a87 100644 (file)
@@ -138,6 +138,20 @@ TEST(Bootstrap, ServerAcceptGroupTest) {
 TEST(Bootstrap, ServerAcceptGroup2Test) {
   // Verify that server is using the accept IO group
 
+  // Check if reuse port is supported, if not, don't run this test
+  try {
+    EventBase base;
+    auto serverSocket = AsyncServerSocket::newSocket(&base);
+    serverSocket->bind(0);
+    serverSocket->listen(0);
+    serverSocket->startAccepting();
+    serverSocket->setReusePortEnabled(true);
+    serverSocket->stopAccepting();
+  } catch(...) {
+    LOG(INFO) << "Reuse port probably not supported";
+    return;
+  }
+
   TestServer server;
   auto factory = std::make_shared<TestPipelineFactory>();
   server.childPipeline(factory);
index f7389d98d2c1928da26c426697819e7463c3c792..85edb646e8031c8547ca49f96a5254e2a7c7d519 100644 (file)
@@ -145,7 +145,7 @@ class ServerBootstrap {
     }
 
     bool reusePort = false;
-    if (acceptor_group_->numThreads() >= 0) {
+    if (acceptor_group_->numThreads() > 1) {
       reusePort = true;
     }