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

Unified Diff: mojo/android/javatests/src/org/chromium/mojo/system/impl/CoreImplTest.java

Issue 2741033003: Mojo EDK: Introduce MojoQueryHandleSignalsState API (Closed)
Patch Set: fix stupid bad DCHECK Created 3 years, 9 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: mojo/android/javatests/src/org/chromium/mojo/system/impl/CoreImplTest.java
diff --git a/mojo/android/javatests/src/org/chromium/mojo/system/impl/CoreImplTest.java b/mojo/android/javatests/src/org/chromium/mojo/system/impl/CoreImplTest.java
index 77a9bda248f115a772654d3c236aa4f95040d4bd..5120198feb90dc5f1180f5f36879a141cf14d0dd 100644
--- a/mojo/android/javatests/src/org/chromium/mojo/system/impl/CoreImplTest.java
+++ b/mojo/android/javatests/src/org/chromium/mojo/system/impl/CoreImplTest.java
@@ -9,9 +9,6 @@ import android.support.test.filters.SmallTest;
import org.chromium.mojo.MojoTestCase;
import org.chromium.mojo.system.Core;
import org.chromium.mojo.system.Core.HandleSignals;
-import org.chromium.mojo.system.Core.HandleSignalsState;
-import org.chromium.mojo.system.Core.WaitManyResult;
-import org.chromium.mojo.system.Core.WaitResult;
import org.chromium.mojo.system.DataPipe;
import org.chromium.mojo.system.Handle;
import org.chromium.mojo.system.InvalidHandle;
@@ -30,7 +27,6 @@ import java.util.List;
import java.util.Random;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.TimeUnit;
/**
* Testing the core API.
@@ -76,22 +72,6 @@ public class CoreImplTest extends MojoTestCase {
mHandlesToClose.add(handles.second);
}
- /**
- * Runnable that will close the given handle.
- */
- private static class CloseHandle implements Runnable {
- private Handle mHandle;
-
- CloseHandle(Handle handle) {
- mHandle = handle;
- }
-
- @Override
- public void run() {
- mHandle.close();
- }
- }
-
private static void checkSendingMessage(MessagePipeHandle in, MessagePipeHandle out) {
Random random = new Random();
@@ -184,46 +164,6 @@ public class CoreImplTest extends MojoTestCase {
}
/**
- * Testing {@link Core#waitMany(List, long)}.
- */
- @SmallTest
- public void testWaitMany() {
- Core core = CoreImpl.getInstance();
- Pair<MessagePipeHandle, MessagePipeHandle> handles = core.createMessagePipe(null);
- addHandlePairToClose(handles);
-
- // Test waiting on handles of a newly created message pipe - each should be writable, but
- // not readable.
- List<Pair<Handle, Core.HandleSignals>> handlesToWaitOn =
- new ArrayList<Pair<Handle, Core.HandleSignals>>();
- handlesToWaitOn.add(
- new Pair<Handle, Core.HandleSignals>(handles.second, Core.HandleSignals.READABLE));
- handlesToWaitOn.add(
- new Pair<Handle, Core.HandleSignals>(handles.first, Core.HandleSignals.WRITABLE));
- WaitManyResult result = core.waitMany(handlesToWaitOn, 0);
- assertEquals(MojoResult.OK, result.getMojoResult());
- assertEquals(1, result.getHandleIndex());
- for (HandleSignalsState state : result.getSignalStates()) {
- assertEquals(HandleSignals.WRITABLE, state.getSatisfiedSignals());
- assertEquals(ALL_SIGNALS, state.getSatisfiableSignals());
- }
-
- // Same test, but swap the handles around.
- handlesToWaitOn.clear();
- handlesToWaitOn.add(
- new Pair<Handle, Core.HandleSignals>(handles.first, Core.HandleSignals.WRITABLE));
- handlesToWaitOn.add(
- new Pair<Handle, Core.HandleSignals>(handles.second, Core.HandleSignals.READABLE));
- result = core.waitMany(handlesToWaitOn, 0);
- assertEquals(MojoResult.OK, result.getMojoResult());
- assertEquals(0, result.getHandleIndex());
- for (HandleSignalsState state : result.getSignalStates()) {
- assertEquals(HandleSignals.WRITABLE, state.getSatisfiedSignals());
- assertEquals(ALL_SIGNALS, state.getSatisfiableSignals());
- }
- }
-
- /**
* Testing that Core can be retrieved from a handle.
*/
@SmallTest
@@ -274,53 +214,14 @@ public class CoreImplTest extends MojoTestCase {
Core core = CoreImpl.getInstance();
Pair<MessagePipeHandle, MessagePipeHandle> handles = core.createMessagePipe(null);
addHandlePairToClose(handles);
- // Test waiting on handles of a newly created message pipe.
- WaitResult waitResult = handles.first.wait(
- Core.HandleSignals.none().setReadable(true).setWritable(true), 0);
- assertEquals(MojoResult.OK, waitResult.getMojoResult());
- assertEquals(
- HandleSignals.WRITABLE, waitResult.getHandleSignalsState().getSatisfiedSignals());
- assertEquals(ALL_SIGNALS, waitResult.getHandleSignalsState().getSatisfiableSignals());
-
- waitResult = handles.first.wait(Core.HandleSignals.WRITABLE, 0);
- assertEquals(MojoResult.OK, waitResult.getMojoResult());
- assertEquals(
- HandleSignals.WRITABLE, waitResult.getHandleSignalsState().getSatisfiedSignals());
- assertEquals(ALL_SIGNALS, waitResult.getHandleSignalsState().getSatisfiableSignals());
-
- waitResult = handles.first.wait(Core.HandleSignals.READABLE, 0);
- assertEquals(MojoResult.DEADLINE_EXCEEDED, waitResult.getMojoResult());
- assertEquals(
- HandleSignals.WRITABLE, waitResult.getHandleSignalsState().getSatisfiedSignals());
- assertEquals(ALL_SIGNALS, waitResult.getHandleSignalsState().getSatisfiableSignals());
// Testing read on an empty pipe.
ResultAnd<MessagePipeHandle.ReadMessageResult> readResult =
handles.first.readMessage(null, 0, MessagePipeHandle.ReadFlags.NONE);
assertEquals(MojoResult.SHOULD_WAIT, readResult.getMojoResult());
- // Closing a pipe while waiting.
- WORKER.schedule(new CloseHandle(handles.first), 10, TimeUnit.MILLISECONDS);
- waitResult = handles.first.wait(Core.HandleSignals.READABLE, 1000000L);
- assertEquals(MojoResult.CANCELLED, waitResult.getMojoResult());
- assertEquals(
- HandleSignals.none(), waitResult.getHandleSignalsState().getSatisfiedSignals());
- assertEquals(
- HandleSignals.none(), waitResult.getHandleSignalsState().getSatisfiableSignals());
-
- handles = core.createMessagePipe(null);
- addHandlePairToClose(handles);
-
- // Closing the other pipe while waiting.
- WORKER.schedule(new CloseHandle(handles.first), 10, TimeUnit.MILLISECONDS);
- waitResult = handles.second.wait(Core.HandleSignals.READABLE, 1000000L);
- assertEquals(MojoResult.FAILED_PRECONDITION, waitResult.getMojoResult());
-
- // Waiting on a closed pipe.
- waitResult = handles.second.wait(Core.HandleSignals.READABLE, 0);
- assertEquals(MojoResult.FAILED_PRECONDITION, waitResult.getMojoResult());
- waitResult = handles.second.wait(Core.HandleSignals.WRITABLE, 0);
- assertEquals(MojoResult.FAILED_PRECONDITION, waitResult.getMojoResult());
+ handles.first.close();
+ handles.second.close();
}
/**
@@ -540,29 +441,6 @@ public class CoreImplTest extends MojoTestCase {
Core core = CoreImpl.getInstance();
Handle handle = InvalidHandle.INSTANCE;
- // Checking wait.
- boolean exception = false;
- try {
- core.wait(handle, Core.HandleSignals.WRITABLE, 0);
- } catch (MojoException e) {
- assertEquals(MojoResult.INVALID_ARGUMENT, e.getMojoResult());
- exception = true;
- }
- assertTrue(exception);
-
- // Checking waitMany.
- exception = false;
- try {
- List<Pair<Handle, Core.HandleSignals>> handles =
- new ArrayList<Pair<Handle, Core.HandleSignals>>();
- handles.add(Pair.create(handle, Core.HandleSignals.WRITABLE));
- core.waitMany(handles, 0);
- } catch (MojoException e) {
- assertEquals(MojoResult.INVALID_ARGUMENT, e.getMojoResult());
- exception = true;
- }
- assertTrue(exception);
-
// Checking sending an invalid handle.
// Until the behavior is changed on the C++ side, handle gracefully 2 different use case:
// - Receive a INVALID_ARGUMENT exception
« no previous file with comments | « mojo/android/javatests/src/org/chromium/mojo/bindings/RouterTest.java ('k') | mojo/android/system/core_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698