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

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

Issue 1856073002: Coalesce small buffers in net::BidirectionalStream (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address Ryan's comments Created 4 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
Index: components/cronet/android/test/javatests/src/org/chromium/net/BidirectionalStreamQuicTest.java
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/BidirectionalStreamQuicTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/BidirectionalStreamQuicTest.java
index 10557b5cbc65c07290ef90cd294c2c00e141911c..446c081cf5bc499b0510342b38bb13c2e80b6534 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/BidirectionalStreamQuicTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/BidirectionalStreamQuicTest.java
@@ -75,6 +75,95 @@ public class BidirectionalStreamQuicTest extends CronetTestBase {
@SmallTest
@Feature({"Cronet"})
@OnlyRunNativeCronet
+ public void testSimplePost() throws Exception {
+ setUp(QuicBidirectionalStreams.ENABLED);
+ String path = "/simple.txt";
+ String quicURL = QuicTestServer.getServerURL() + path;
+ TestBidirectionalStreamCallback callback = new TestBidirectionalStreamCallback();
+ // Although we have no way to verify data sent at this point, this test
+ // can make sure that onWriteCompleted is invoked appropriately.
+ callback.addWriteData("Test String".getBytes());
+ callback.addWriteData("1234567890".getBytes());
+ callback.addWriteData("woot!".getBytes());
+ BidirectionalStream stream = new BidirectionalStream
+ .Builder(quicURL, callback, callback.getExecutor(),
+ mTestFramework.mCronetEngine)
+ .addHeader("foo", "bar")
+ .addHeader("empty", "")
+ .addHeader("Content-Type", "zebra")
+ .build();
+ stream.start();
+ callback.blockForDone();
+ assertTrue(stream.isDone());
+ assertEquals(200, callback.mResponseInfo.getHttpStatusCode());
+ assertEquals("This is a simple text file served by QUIC.\n", callback.mResponseAsString);
+ assertEquals("quic/1+spdy/3", callback.mResponseInfo.getNegotiatedProtocol());
+ }
+
+ @SmallTest
+ @Feature({"Cronet"})
+ @OnlyRunNativeCronet
+ public void testSimplePostWithFlush() throws Exception {
+ setUp(QuicBidirectionalStreams.ENABLED);
+ String path = "/simple.txt";
+ String quicURL = QuicTestServer.getServerURL() + path;
+ TestBidirectionalStreamCallback callback = new TestBidirectionalStreamCallback();
+ // Although we have no way to verify data sent at this point, this test
+ // can make sure that onWriteCompleted is invoked appropriately.
+ callback.addWriteData("Test String".getBytes(), false);
+ callback.addWriteData("1234567890".getBytes(), false);
+ callback.addWriteData("woot!".getBytes(), true);
+ BidirectionalStream stream = new BidirectionalStream
+ .Builder(quicURL, callback, callback.getExecutor(),
+ mTestFramework.mCronetEngine)
+ .disableAutoFlush(true)
+ .addHeader("foo", "bar")
+ .addHeader("empty", "")
+ .addHeader("Content-Type", "zebra")
+ .build();
+ stream.start();
+ callback.blockForDone();
+ assertTrue(stream.isDone());
+ assertEquals(200, callback.mResponseInfo.getHttpStatusCode());
+ assertEquals("This is a simple text file served by QUIC.\n", callback.mResponseAsString);
+ assertEquals("quic/1+spdy/3", callback.mResponseInfo.getNegotiatedProtocol());
+ }
+
+ @SmallTest
+ @Feature({"Cronet"})
+ @OnlyRunNativeCronet
+ public void testSimplePostWithFlushTwice() throws Exception {
+ setUp(QuicBidirectionalStreams.ENABLED);
+ String path = "/simple.txt";
+ String quicURL = QuicTestServer.getServerURL() + path;
+ TestBidirectionalStreamCallback callback = new TestBidirectionalStreamCallback();
+ // Although we have no way to verify data sent at this point, this test
+ // can make sure that onWriteCompleted is invoked appropriately.
+ callback.addWriteData("Test String".getBytes(), false);
+ callback.addWriteData("1234567890".getBytes(), false);
+ callback.addWriteData("woot!".getBytes(), true);
+ callback.addWriteData("Test String".getBytes(), false);
+ callback.addWriteData("1234567890".getBytes(), false);
+ callback.addWriteData("woot!".getBytes(), true);
+ BidirectionalStream stream = new BidirectionalStream
+ .Builder(quicURL, callback, callback.getExecutor(),
+ mTestFramework.mCronetEngine)
+ .disableAutoFlush(true)
+ .addHeader("foo", "bar")
+ .addHeader("empty", "")
+ .addHeader("Content-Type", "zebra")
+ .build();
+ stream.start();
+ callback.blockForDone();
+ assertTrue(stream.isDone());
+ assertEquals(200, callback.mResponseInfo.getHttpStatusCode());
+ assertEquals("This is a simple text file served by QUIC.\n", callback.mResponseAsString);
+ assertEquals("quic/1+spdy/3", callback.mResponseInfo.getNegotiatedProtocol());
+ }
+
+ @SmallTest
+ @Feature({"Cronet"})
+ @OnlyRunNativeCronet
public void testQuicBidirectionalStreamDisabled() throws Exception {
setUp(QuicBidirectionalStreams.DISABLED);
String path = "/simple.txt";

Powered by Google App Engine
This is Rietveld 408576698