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

Unified Diff: components/cronet/android/test/javatests/src/org/chromium/net/TestUrlRequestCallback.java

Issue 2283243002: Allow direct executors in cronet. (Closed)
Patch Set: Created 4 years, 4 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: components/cronet/android/test/javatests/src/org/chromium/net/TestUrlRequestCallback.java
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/TestUrlRequestCallback.java b/components/cronet/android/test/javatests/src/org/chromium/net/TestUrlRequestCallback.java
index da46d1b9c1858b3f569c2a4d846388181ece8dc3..915813fef00a84dd20cf314aee8034ca7e9ce5ff 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/TestUrlRequestCallback.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/TestUrlRequestCallback.java
@@ -46,6 +46,9 @@ class TestUrlRequestCallback extends UrlRequest.Callback {
// that advance it.
private boolean mAutoAdvance = true;
+ // Whether to permit calls on the network thread.
+ private boolean mAllowDirectExecutor = false;
+
// Conditionally fail on certain steps.
private FailureType mFailureType = FailureType.NONE;
private ResponseStep mFailureStep = ResponseStep.NOTHING;
@@ -108,6 +111,10 @@ class TestUrlRequestCallback extends UrlRequest.Callback {
mAutoAdvance = autoAdvance;
}
+ public void setAllowDirectExecutor(boolean allowed) {
mef 2016/08/30 17:55:47 maybe instead of setAllowDirectExecutor() use setU
Charles 2016/08/30 20:11:06 That wouldn't fly for javaurlrequest, which has a
+ mAllowDirectExecutor = allowed;
+ }
+
public void setFailure(FailureType failureType, ResponseStep failureStep) {
mFailureStep = failureStep;
mFailureType = failureType;
@@ -151,7 +158,9 @@ class TestUrlRequestCallback extends UrlRequest.Callback {
@Override
public void onResponseStarted(UrlRequest request, UrlResponseInfo info) {
- assertEquals(mExecutorThread, Thread.currentThread());
+ if (!mAllowDirectExecutor) {
+ assertEquals(mExecutorThread, Thread.currentThread());
+ }
assertFalse(request.isDone());
assertTrue(mResponseStep == ResponseStep.NOTHING
|| mResponseStep == ResponseStep.ON_RECEIVED_REDIRECT);
@@ -167,7 +176,9 @@ class TestUrlRequestCallback extends UrlRequest.Callback {
@Override
public void onReadCompleted(UrlRequest request, UrlResponseInfo info, ByteBuffer byteBuffer) {
- assertEquals(mExecutorThread, Thread.currentThread());
+ if (!mAllowDirectExecutor) {
+ assertEquals(mExecutorThread, Thread.currentThread());
+ }
assertFalse(request.isDone());
assertTrue(mResponseStep == ResponseStep.ON_RESPONSE_STARTED
|| mResponseStep == ResponseStep.ON_READ_COMPLETED);
@@ -194,7 +205,9 @@ class TestUrlRequestCallback extends UrlRequest.Callback {
@Override
public void onSucceeded(UrlRequest request, UrlResponseInfo info) {
- assertEquals(mExecutorThread, Thread.currentThread());
+ if (!mAllowDirectExecutor) {
+ assertEquals(mExecutorThread, Thread.currentThread());
+ }
assertTrue(request.isDone());
assertTrue(mResponseStep == ResponseStep.ON_RESPONSE_STARTED
|| mResponseStep == ResponseStep.ON_READ_COMPLETED);
@@ -210,7 +223,12 @@ class TestUrlRequestCallback extends UrlRequest.Callback {
@Override
public void onFailed(UrlRequest request, UrlResponseInfo info, UrlRequestException error) {
- assertEquals(mExecutorThread, Thread.currentThread());
+ // If the failure is because of prohibited direct execution, the test shouldn't fail
+ // since the request already did.
+ if (!mAllowDirectExecutor
+ && !(error.getCause() instanceof InlineExecutionProhibitedException)) {
+ assertEquals(mExecutorThread, Thread.currentThread());
+ }
assertTrue(request.isDone());
// Shouldn't happen after success.
assertTrue(mResponseStep != ResponseStep.ON_SUCCEEDED);
@@ -231,12 +249,15 @@ class TestUrlRequestCallback extends UrlRequest.Callback {
mOnErrorCalled = true;
mError = error;
openDone();
+ System.out.println("opened");
mef 2016/08/30 17:55:47 nit: remove
Charles 2016/08/30 20:11:06 Done.
maybeThrowCancelOrPause(request);
}
@Override
public void onCanceled(UrlRequest request, UrlResponseInfo info) {
- assertEquals(mExecutorThread, Thread.currentThread());
+ if (!mAllowDirectExecutor) {
+ assertEquals(mExecutorThread, Thread.currentThread());
+ }
assertTrue(request.isDone());
// Should happen at most once for a single request.
assertFalse(mOnCanceledCalled);

Powered by Google App Engine
This is Rietveld 408576698