Chromium Code Reviews| 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); |