Index: components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestTest.java |
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestTest.java |
index ebb1012f8ec04d3381c75d0a99cab0a22cc9715b..9aaf35f3e2d1dd86c71b89e9f6371a3a187db62b 100644 |
--- a/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestTest.java |
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestTest.java |
@@ -5,6 +5,7 @@ |
package org.chromium.net; |
import android.os.ConditionVariable; |
+import android.os.StrictMode; |
import android.test.MoreAsserts; |
import android.test.suitebuilder.annotation.SmallTest; |
import android.util.Log; |
@@ -828,6 +829,36 @@ public class CronetUrlRequestTest extends CronetTestBase { |
@SmallTest |
@Feature({"Cronet"}) |
+ public void testNoIoInCancel() throws Exception { |
+ final TestUrlRequestCallback callback = new TestUrlRequestCallback(); |
+ callback.setAutoAdvance(false); |
+ final UrlRequest urlRequest = |
+ new UrlRequest |
+ .Builder(NativeTestServer.getEchoHeaderURL("blah-header"), callback, |
+ callback.getExecutor(), mTestFramework.mCronetEngine) |
+ .addHeader("blah-header", "blahblahblah") |
+ .build(); |
+ urlRequest.start(); |
+ callback.waitForNextStep(); |
+ callback.startNextRead(urlRequest, ByteBuffer.allocateDirect(4)); |
+ callback.waitForNextStep(); |
+ StrictMode.ThreadPolicy oldPolicy = StrictMode.getThreadPolicy(); |
+ StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder() |
+ .detectAll() |
+ .penaltyDeath() |
+ .penaltyLog() |
+ .build()); |
+ try { |
+ urlRequest.cancel(); |
mef
2016/08/25 22:23:54
Do you need to setup something to trigger IO on ca
Charles
2016/08/26 15:58:19
I do set up - this is in the middle of a request w
mef
2016/08/26 16:14:11
Acknowledged.
|
+ } finally { |
+ StrictMode.setThreadPolicy(oldPolicy); |
+ } |
+ callback.blockForDone(); |
+ assertEquals(true, callback.mOnCanceledCalled); |
+ } |
+ |
+ @SmallTest |
+ @Feature({"Cronet"}) |
public void testUnexpectedReads() throws Exception { |
final TestUrlRequestCallback callback = new TestUrlRequestCallback(); |
callback.setAutoAdvance(false); |