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

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

Issue 2283513002: [Cronet] JavaUrlRequest - Don't call close() on a user thread - it can do I/O. (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/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);

Powered by Google App Engine
This is Rietveld 408576698