]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-4898 improve (again) stability of WatcherThreadTest
authorSimon Brandhof <simon.brandhof@sonarsource.com>
Fri, 12 Sep 2014 18:27:24 +0000 (20:27 +0200)
committerSimon Brandhof <simon.brandhof@sonarsource.com>
Fri, 12 Sep 2014 18:27:24 +0000 (20:27 +0200)
server/sonar-process-monitor/src/test/java/org/sonar/process/monitor/WatcherThreadTest.java

index 251dcdb21ea223a744905870542cd67efd859db5..5c953c1fef93f3ca4fa5475f45f69f1be4517c1b 100644 (file)
@@ -24,35 +24,23 @@ import org.mockito.Mockito;
 import org.mockito.invocation.InvocationOnMock;
 import org.mockito.stubbing.Answer;
 
-import java.util.concurrent.atomic.AtomicBoolean;
-
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
+import static org.mockito.Mockito.*;
 
 public class WatcherThreadTest {
 
   @Test(timeout = 10000L)
   public void kill_process_if_watcher_is_interrupted() throws Exception {
     ProcessRef ref = mock(ProcessRef.class, Mockito.RETURNS_DEEP_STUBS);
-    final AtomicBoolean waiting = new AtomicBoolean(false);
     when(ref.getProcess().waitFor()).thenAnswer(new Answer<Object>() {
       @Override
       public Object answer(InvocationOnMock invocationOnMock) throws Throwable {
-        waiting.set(true);
-        Thread.sleep(Long.MAX_VALUE);
-        return 0;
+        throw new InterruptedException();
       }
     });
     Monitor monitor = mock(Monitor.class);
 
     WatcherThread watcher = new WatcherThread(ref, monitor);
     watcher.start();
-
-    while (!waiting.get()) {
-      Thread.sleep(50L);
-    }
-    watcher.interrupt();
     verify(ref).hardKill();
   }
 }