Fix flaky ConnectionFailTest: restore fd limit in SetUp (#612)

ConnectionFailTest lowers the process soft fd limit (RLIMIT_NOFILE) in a
loop and never restores it, so a test leaves the limit as low as ~8 for
the next one. The next test's SetUp() then makes an HTTP request to
create the partitioned topic, and curl can intermittently fail to open a
socket (res: -1) when the previous client's async connection teardown
still holds file descriptors.

Restore the soft limit to the hard limit in SetUp() before making the
HTTP request.
diff --git a/tests/unix/ConnectionFailTest.cc b/tests/unix/ConnectionFailTest.cc
index a05e6a3..11ac384 100644
--- a/tests/unix/ConnectionFailTest.cc
+++ b/tests/unix/ConnectionFailTest.cc
@@ -31,6 +31,10 @@
         struct rlimit limit;
         ASSERT_EQ(getrlimit(RLIMIT_NOFILE, &limit), 0);
         maxFdCount_ = limit.rlim_max;
+        // The previous test leaves the soft fd limit lowered, which could make the HTTP request below fail
+        // to open a socket. Restore it before creating the topic.
+        limit.rlim_cur = limit.rlim_max;
+        ASSERT_EQ(setrlimit(RLIMIT_NOFILE, &limit), 0);
         int numPartitions = GetParam();
         topic_ = "test-connection-fail-" + std::to_string(numPartitions) + std::to_string(time(nullptr));
         if (numPartitions > 0) {