| Index: components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlTest.java
|
| diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlTest.java
|
| index 481cebad8cc2df09f5a9c25b6b8cf60c5010c74d..d0ce29656b77eb8ee135ce045b835c4aac82312e 100644
|
| --- a/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlTest.java
|
| +++ b/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlTest.java
|
| @@ -134,13 +134,16 @@ public class CronetUrlTest extends CronetTestBase {
|
|
|
| @SmallTest
|
| @Feature({"Cronet"})
|
| - public void disabled_testQuicLoadUrl() throws Exception {
|
| + public void testQuicLoadUrl() throws Exception {
|
| + // Loads library first since native functions are used to retrieve
|
| + // QuicTestServer info before config is constructed.
|
| + System.loadLibrary("cronet_tests");
|
| HttpUrlRequestFactoryConfig config = new HttpUrlRequestFactoryConfig();
|
| - // TODO(mef): Test Quic end-to-end using local QUIC server.
|
| - String quicURL = "https://www.google.com:443";
|
| - String quicNegotiatedProtocol = "quic/1+spdy/3";
|
| + String quicURL = QuicTestServer.getServerURL() + "/simple.txt";
|
| config.enableQUIC(true);
|
| - config.addQuicHint("www.google.com", 443, 443);
|
| + config.setLibraryName("cronet_tests");
|
| + config.addQuicHint(QuicTestServer.getServerHost(),
|
| + QuicTestServer.getServerPort(), QuicTestServer.getServerPort());
|
| config.setExperimentalQuicConnectionOptions("PACE,IW10,FOO,DEADBEEF");
|
|
|
| String[] commandLineArgs = {
|
| @@ -148,32 +151,26 @@ public class CronetUrlTest extends CronetTestBase {
|
| CronetTestActivity activity =
|
| launchCronetTestAppWithUrlAndCommandLineArgs(null,
|
| commandLineArgs);
|
| + QuicTestServer.startQuicTestServer(activity.getApplicationContext());
|
| activity.startNetLog();
|
|
|
| HashMap<String, String> headers = new HashMap<String, String>();
|
| TestHttpUrlRequestListener listener = new TestHttpUrlRequestListener();
|
|
|
| - // Try several times as first request may not use QUIC.
|
| - // TODO(mef): Remove loop after adding http server properties manager.
|
| - for (int i = 0; i < 10; ++i) {
|
| - HttpUrlRequest request =
|
| - activity.mRequestFactory.createRequest(
|
| - quicURL,
|
| - HttpUrlRequest.REQUEST_PRIORITY_MEDIUM,
|
| - headers,
|
| - listener);
|
| - request.start();
|
| - listener.blockForComplete();
|
| - assertEquals(200, listener.mHttpStatusCode);
|
| - if (listener.mNegotiatedProtocol.equals(quicNegotiatedProtocol)) {
|
| - break;
|
| - }
|
| - Thread.sleep(1000);
|
| - listener.resetComplete();
|
| - }
|
| -
|
| - assertEquals(quicNegotiatedProtocol, listener.mNegotiatedProtocol);
|
| + HttpUrlRequest request =
|
| + activity.mRequestFactory.createRequest(
|
| + quicURL,
|
| + HttpUrlRequest.REQUEST_PRIORITY_MEDIUM,
|
| + headers,
|
| + listener);
|
| + request.start();
|
| + listener.blockForComplete();
|
| + assertEquals(200, listener.mHttpStatusCode);
|
| + assertEquals(
|
| + "This is a simple text file served by QUIC.\n", listener.mResponseAsString);
|
| + assertEquals("quic/1+spdy/3", listener.mNegotiatedProtocol);
|
| activity.stopNetLog();
|
| + QuicTestServer.shutdownQuicTestServer();
|
| }
|
|
|
| @SmallTest
|
|
|