From 7282c7f762540fe097290a2a82b72d23284968e3 Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Sat, 13 Oct 2012 08:33:45 +0000
Subject: [PATCH] OPENDJ-612: SDK: Race conditions installing client/server filter chains during connect/bind/accept
---
opendj3/opendj-ldap-sdk/src/test/java/org/forgerock/opendj/ldap/TestCaseUtils.java | 19 +++++++++++++++++++
1 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/opendj3/opendj-ldap-sdk/src/test/java/org/forgerock/opendj/ldap/TestCaseUtils.java b/opendj3/opendj-ldap-sdk/src/test/java/org/forgerock/opendj/ldap/TestCaseUtils.java
index 85bb408..b78acb4 100644
--- a/opendj3/opendj-ldap-sdk/src/test/java/org/forgerock/opendj/ldap/TestCaseUtils.java
+++ b/opendj3/opendj-ldap-sdk/src/test/java/org/forgerock/opendj/ldap/TestCaseUtils.java
@@ -31,6 +31,7 @@
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.ServerSocket;
+import java.net.SocketAddress;
/**
* This class defines some utility functions which can be used by test cases.
@@ -101,6 +102,24 @@
}
/**
+ * Finds a free server socket port on the local host.
+ *
+ * @return The free port.
+ */
+ public static SocketAddress findFreeSocketAddress() {
+ try {
+ ServerSocket serverLdapSocket = new ServerSocket();
+ serverLdapSocket.setReuseAddress(true);
+ serverLdapSocket.bind(new InetSocketAddress("127.0.0.1", 0));
+ final SocketAddress address = serverLdapSocket.getLocalSocketAddress();
+ serverLdapSocket.close();
+ return address;
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ /**
* Returns an internal client connection to the running ldap server.
*
* @return The internal client connection.
--
Gitblit v1.10.0