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

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

Issue 1098253005: Cronet: Fix CronetUploadTest.testDestroyAdapterBefore* tests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update comments Created 5 years, 8 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
« no previous file with comments | « no previous file | components/cronet/android/test/src/org/chromium/net/TestUploadDataStreamHandler.java » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/cronet/android/test/javatests/src/org/chromium/net/CronetUploadTest.java
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/CronetUploadTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/CronetUploadTest.java
index 218cbf6bb7a2973163d4ff4459b3321353be870c..074eaad7c5e32f1a34f89177894b0223331a5c8d 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/CronetUploadTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/CronetUploadTest.java
@@ -22,8 +22,6 @@ public class CronetUploadTest extends CronetTestBase {
private TestDrivenDataProvider mDataProvider;
private CronetUploadDataStream mUploadDataStream;
private TestUploadDataStreamHandler mHandler;
- // Address of native CronetUploadDataStreamAdapter object.
- private long mAdapter = 0;
@Override
protected void setUp() throws Exception {
@@ -33,8 +31,8 @@ public class CronetUploadTest extends CronetTestBase {
List<byte[]> reads = Arrays.asList("hello".getBytes());
mDataProvider = new TestDrivenDataProvider(executor, reads);
mUploadDataStream = new CronetUploadDataStream(mDataProvider, executor);
- mAdapter = mUploadDataStream.createAdapterForTesting();
- mHandler = new TestUploadDataStreamHandler(mAdapter);
+ mHandler = new TestUploadDataStreamHandler(
+ mUploadDataStream.createAdapterForTesting());
}
@Override
@@ -241,9 +239,13 @@ public class CronetUploadTest extends CronetTestBase {
mDataProvider.waitForReadRequest();
mHandler.checkReadCallbackNotInvoked();
- // Destroy the C++ object, which should trigger the Java
- // onAdapterDestroyed() which should block until the read completes.
- mAdapter = 0;
+ // Destroy the C++ TestUploadDataStreamHandler. The handler owns the
+ // CronetUploadDataStreamAdapter, which this will cause it to destroy on
+ // the network thread. Destroying the adapter will result in calling
+ // the CronetUploadDataSteam's onAdapterDestroyed() method on its
+ // executor thread, which will then destroy the
+ // CronetUploadDataStreamDelegate.
+ mHandler.destroyNativeObjects();
// Make the read complete should not encounter a crash.
mDataProvider.onReadSucceeded(mUploadDataStream);
@@ -282,15 +284,16 @@ public class CronetUploadTest extends CronetTestBase {
mDataProvider.waitForRewindRequest();
mHandler.checkInitCallbackNotInvoked();
- // Destroy the C++ object, which should trigger the Java
- // onAdapterDestroyed().
- mAdapter = 0;
+ // Destroy the C++ TestUploadDataStreamHandler. The handler owns the
+ // CronetUploadDataStreamAdapter, which this will cause it to destroy on
+ // the network thread. Destroying the adapter will result in calling
+ // the CronetUploadDataSteam's onAdapterDestroyed() method on its
+ // executor thread, which will then destroy the
+ // CronetUploadDataStreamDelegate.
+ mHandler.destroyNativeObjects();
// Signal rewind completes, and wait for init to complete.
- mHandler.checkInitCallbackNotInvoked();
mDataProvider.onRewindSucceeded(mUploadDataStream);
- mHandler.waitForInitComplete();
- mDataProvider.assertRewindNotPending();
assertEquals(1, mDataProvider.getNumRewindCalls());
assertEquals(1, mDataProvider.getNumReadCalls());
« no previous file with comments | « no previous file | components/cronet/android/test/src/org/chromium/net/TestUploadDataStreamHandler.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698