Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(39)

Unified Diff: webrtc/examples/androidjunit/src/org/appspot/apprtc/TCPChannelClientTest.java

Issue 1992213002: Replace LooperExecutor with built-in class in Android AppRTC Demo (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Changes according to magjed comments Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/examples/androidjunit/src/org/appspot/apprtc/TCPChannelClientTest.java
diff --git a/webrtc/examples/androidjunit/src/org/appspot/apprtc/TCPChannelClientTest.java b/webrtc/examples/androidjunit/src/org/appspot/apprtc/TCPChannelClientTest.java
index e0e29630d1e173d53be4ec2d17ea98110778d88e..bdfcf76787b45ec48ce9570a915ce7dc0246903e 100644
--- a/webrtc/examples/androidjunit/src/org/appspot/apprtc/TCPChannelClientTest.java
+++ b/webrtc/examples/androidjunit/src/org/appspot/apprtc/TCPChannelClientTest.java
@@ -10,7 +10,7 @@
package org.appspot.apprtc;
-import org.appspot.apprtc.util.RobolectricLooperExecutor;
+
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -21,6 +21,11 @@ import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowLog;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.TimeUnit;
+
import static org.junit.Assert.fail;
import static org.mockito.Mockito.timeout;
import static org.mockito.Mockito.verify;
@@ -38,13 +43,14 @@ public class TCPChannelClientTest {
private static final int CONNECT_TIMEOUT = 100;
private static final int SEND_TIMEOUT = 100;
private static final int DISCONNECT_TIMEOUT = 100;
+ private static final int TERMINATION_TIMEOUT = 1000;
private static final String TEST_MESSAGE_SERVER = "Hello, Server!";
private static final String TEST_MESSAGE_CLIENT = "Hello, Client!";
@Mock TCPChannelClient.TCPChannelEvents serverEvents;
@Mock TCPChannelClient.TCPChannelEvents clientEvents;
- private RobolectricLooperExecutor executor;
+ private ExecutorService executor;
private TCPChannelClient server;
private TCPChannelClient client;
@@ -55,15 +61,14 @@ public class TCPChannelClientTest {
MockitoAnnotations.initMocks(this);
- executor = new RobolectricLooperExecutor();
- executor.requestStart();
+ executor = Executors.newSingleThreadExecutor();
}
@After
public void tearDown() {
verifyNoMoreEvents();
- executor.executeAndWait(new Runnable() {
+ executeAndWait(new Runnable() {
@Override
public void run() {
client.disconnect();
@@ -72,9 +77,9 @@ public class TCPChannelClientTest {
});
// Stop the executor thread
- executor.requestStop();
+ executor.shutdown();
try {
- executor.join();
+ executor.awaitTermination(TERMINATION_TIMEOUT, TimeUnit.MILLISECONDS);
} catch (InterruptedException e) {
fail(e.getMessage());
}
@@ -112,7 +117,7 @@ public class TCPChannelClientTest {
public void testSendData() {
testConnectIPv4();
- executor.executeAndWait(new Runnable() {
+ executeAndWait(new Runnable() {
@Override
public void run() {
client.send(TEST_MESSAGE_SERVER);
@@ -127,7 +132,7 @@ public class TCPChannelClientTest {
@Test
public void testDisconnectServer() {
testConnectIPv4();
- executor.executeAndWait(new Runnable() {
+ executeAndWait(new Runnable() {
@Override
public void run() {
server.disconnect();
@@ -141,7 +146,7 @@ public class TCPChannelClientTest {
@Test
public void testDisconnectClient() {
testConnectIPv4();
- executor.executeAndWait(new Runnable() {
+ executeAndWait(new Runnable() {
@Override
public void run() {
client.disconnect();
@@ -183,4 +188,15 @@ public class TCPChannelClientTest {
verifyNoMoreInteractions(serverEvents);
verifyNoMoreInteractions(clientEvents);
}
+
+ /**
+ * Queues runnable to be run and waits for it to be executed by the executor thread
+ */
+ public void executeAndWait(Runnable runnable) {
+ try {
+ executor.submit(runnable).get();
+ } catch (Exception e) {
+ fail(e.getMessage());
+ }
+ }
}

Powered by Google App Engine
This is Rietveld 408576698