提交 3499cbe8 编写于 作者: C coffeys

7025105: TEST_BUG test/com/sun/jndi/ldap/NoWaitForReplyTest.java should be cleaned up

Reviewed-by: alanb
上级 b38912d2
......@@ -40,9 +40,14 @@ public class NoWaitForReplyTest {
boolean passed = false;
// start the LDAP server
DummyServer ldapServer = new DummyServer();
ldapServer.start();
// Set up the environment for creating the initial context
Hashtable env = new Hashtable(11);
env.put(Context.PROVIDER_URL, "ldap://localhost:22001");
env.put(Context.PROVIDER_URL, "ldap://localhost:" +
ldapServer.getPortNumber());
env.put(Context.INITIAL_CONTEXT_FACTORY,
"com.sun.jndi.ldap.LdapCtxFactory");
......@@ -55,13 +60,9 @@ public class NoWaitForReplyTest {
// Send the LDAP search request without first authenticating (no bind)
env.put("java.naming.ldap.version", "3");
DummyServer ldapServer = new DummyServer();
try {
// start the LDAP server
ldapServer.start();
// Create initial context
System.out.println("Client: connecting to the server");
DirContext ctx = new InitialDirContext(env);
......@@ -94,25 +95,37 @@ public class NoWaitForReplyTest {
static class DummyServer extends Thread {
static int serverPort = 22001;
private final ServerSocket serverSocket;
DummyServer() throws IOException {
this.serverSocket = new ServerSocket(0);
System.out.println("Server: listening on port " + serverSocket.getLocalPort());
}
DummyServer() {
public int getPortNumber() {
return serverSocket.getLocalPort();
}
public void run() {
try {
ServerSocket serverSock = new ServerSocket(serverPort);
Socket socket = serverSock.accept();
try (Socket socket = serverSocket.accept()) {
System.out.println("Server: accepted a connection");
BufferedInputStream bin =
new BufferedInputStream(socket.getInputStream());
InputStream in = socket.getInputStream();
while (true) {
bin.read();
while (!isInterrupted()) {
in.skip(in.available());
}
} catch (Exception e) {
// ignore
} finally {
System.out.println("Server: shutting down");
try {
serverSocket.close();
} catch (IOException e) {
// ignore
}
}
}
}
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册