diff --git a/gclc-socket/pom.xml b/gclc-socket/pom.xml index 167b5a8..52bbe2b 100644 --- a/gclc-socket/pom.xml +++ b/gclc-socket/pom.xml @@ -51,7 +51,7 @@ net.bigeon smu - 1.0.4 + 1.0.5 diff --git a/gclc-socket/src/test/java/net/bigeon/gclc/socket/ConsoleTestApplication.java b/gclc-socket/src/test/java/net/bigeon/gclc/socket/ConsoleTestApplication.java index b9ed097..6399209 100644 --- a/gclc-socket/src/test/java/net/bigeon/gclc/socket/ConsoleTestApplication.java +++ b/gclc-socket/src/test/java/net/bigeon/gclc/socket/ConsoleTestApplication.java @@ -118,7 +118,10 @@ public class ConsoleTestApplication { public void execute(final ConsoleOutput out, final ConsoleInput in, final String... args) throws CommandRunException { try { - Thread.sleep(2000); + Object obj = new Object(); + synchronized (obj) { + obj.wait(2000); + } output.println("Test command ran fine"); } catch (IOException | InterruptedException e) { throw new CommandRunException("manager closed", e); diff --git a/gclc-socket/src/test/java/net/bigeon/gclc/socket/PluggableConsoleInputTest.java b/gclc-socket/src/test/java/net/bigeon/gclc/socket/PluggableConsoleInputTest.java index 6528411..2dbaa5c 100644 --- a/gclc-socket/src/test/java/net/bigeon/gclc/socket/PluggableConsoleInputTest.java +++ b/gclc-socket/src/test/java/net/bigeon/gclc/socket/PluggableConsoleInputTest.java @@ -90,7 +90,10 @@ public class PluggableConsoleInputTest { } try { - Thread.sleep(100); + Object obj = new Object(); + synchronized (obj) { + obj.wait(100); + } } catch (final InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); @@ -112,7 +115,10 @@ public class PluggableConsoleInputTest { @Override public void run() { try { - Thread.sleep(200); + Object obj = new Object(); + synchronized (obj) { + obj.wait(200); + } } catch (final InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); @@ -162,8 +168,11 @@ public class PluggableConsoleInputTest { }); th.start(); - while (!input.isPrompting()) { - Thread.sleep(10); + Object obj = new Object(); + synchronized (obj) { + while (!input.isPrompting()) { + obj.wait(10); + } } input.connect(pis, out); @@ -176,7 +185,7 @@ public class PluggableConsoleInputTest { public void run() { try { input.prompt("Test", 5000); -// fail("Prompt should io"); +// fail("Prompt should io"); } catch (final IOException e) { // ok ref.set(e); @@ -184,8 +193,10 @@ public class PluggableConsoleInputTest { } }); th2.start(); - while (!input.isPrompting()) { - Thread.sleep(10); + synchronized (obj) { + while (!input.isPrompting()) { + obj.wait(10); + } } input.close(); diff --git a/gclc-socket/src/test/java/net/bigeon/gclc/socket/SocketConsoleApplicationTest.java b/gclc-socket/src/test/java/net/bigeon/gclc/socket/SocketConsoleApplicationTest.java index ad8a09b..2f506fc 100644 --- a/gclc-socket/src/test/java/net/bigeon/gclc/socket/SocketConsoleApplicationTest.java +++ b/gclc-socket/src/test/java/net/bigeon/gclc/socket/SocketConsoleApplicationTest.java @@ -76,7 +76,6 @@ public class SocketConsoleApplicationTest { public void testIntegration() throws IOException, InterruptedException { Thread server; server = TestServer.getServer(); - Thread.sleep(1000); final String hostName = "127.0.0.1"; final int portNumber = 3300; @@ -128,11 +127,9 @@ public class SocketConsoleApplicationTest { } assertEquals("Application exit command should close connection", 4, i); } - Thread.sleep(100); TestServer.closeServer(); server.join(); server = TestServer.getServer(); - Thread.sleep(1000); try (Socket kkSocket = new Socket(hostName, portNumber); PrintWriter out = new PrintWriter(kkSocket.getOutputStream(), true); diff --git a/gclc-socket/src/test/java/net/bigeon/gclc/socket/TestServer.java b/gclc-socket/src/test/java/net/bigeon/gclc/socket/TestServer.java index 3f512d7..802a213 100644 --- a/gclc-socket/src/test/java/net/bigeon/gclc/socket/TestServer.java +++ b/gclc-socket/src/test/java/net/bigeon/gclc/socket/TestServer.java @@ -90,6 +90,16 @@ public class TestServer { } }); th.start(); + try { + Object waiting = new Object(); + synchronized (waiting) { + while (!input.isPrompting()) { + waiting.wait(50); + } + } + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } } return SHELL; }