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