Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 package org.chromium.net; | 5 package org.chromium.net; |
| 6 | 6 |
| 7 import static org.chromium.base.CollectionUtil.newHashSet; | 7 import static org.chromium.base.CollectionUtil.newHashSet; |
| 8 | 8 |
| 9 import android.os.ConditionVariable; | 9 import android.os.ConditionVariable; |
| 10 import android.test.suitebuilder.annotation.SmallTest; | 10 import android.test.suitebuilder.annotation.SmallTest; |
| (...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 285 RequestFinishedInfo requestInfo = requestFinishedListener.getRequestInfo (); | 285 RequestFinishedInfo requestInfo = requestFinishedListener.getRequestInfo (); |
| 286 MetricsTestUtil.checkRequestFinishedInfo(requestInfo, mUrl, startTime, e ndTime); | 286 MetricsTestUtil.checkRequestFinishedInfo(requestInfo, mUrl, startTime, e ndTime); |
| 287 assertEquals(RequestFinishedInfo.CANCELED, requestInfo.getFinishedReason ()); | 287 assertEquals(RequestFinishedInfo.CANCELED, requestInfo.getFinishedReason ()); |
| 288 MetricsTestUtil.checkHasConnectTiming(requestInfo.getMetrics(), startTim e, endTime, false); | 288 MetricsTestUtil.checkHasConnectTiming(requestInfo.getMetrics(), startTim e, endTime, false); |
| 289 | 289 |
| 290 assertEquals(newHashSet("request annotation", this), // Use sets for uno rdered comparison. | 290 assertEquals(newHashSet("request annotation", this), // Use sets for uno rdered comparison. |
| 291 new HashSet<Object>(requestInfo.getAnnotations())); | 291 new HashSet<Object>(requestInfo.getAnnotations())); |
| 292 mTestFramework.mCronetEngine.shutdown(); | 292 mTestFramework.mCronetEngine.shutdown(); |
| 293 } | 293 } |
| 294 | 294 |
| 295 // Checks that CronetURLRequestAdapter::DestroyOnNetworkThread() doesn't cra sh when metrics | |
| 296 // collection is enabled and the URLRequest hasn't been created. See http:// crbug.com/675629. | |
| 297 @SmallTest | |
| 298 @OnlyRunNativeCronet | |
| 299 @Feature({"Cronet"}) | |
| 300 public void testExceptionInRequestStart() throws Exception { | |
| 301 mTestFramework = startCronetTestFramework(); | |
| 302 TestRequestFinishedListener requestFinishedListener = new TestRequestFin ishedListener(); | |
|
xunjieli
2016/12/19 21:18:31
Can you make sure the executor backing this listen
mgersh
2016/12/19 21:37:25
Oh, that's a better way to do it, thanks. Done.
| |
| 303 mTestFramework.mCronetEngine.addRequestFinishedListener(requestFinishedL istener); | |
| 304 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | |
| 305 ExperimentalUrlRequest.Builder urlRequestBuilder = | |
| 306 mTestFramework.mCronetEngine.newUrlRequestBuilder( | |
| 307 mUrl, callback, callback.getExecutor()); | |
| 308 // Empty headers are invalid and will cause start() to throw an exceptio n. | |
| 309 UrlRequest request = urlRequestBuilder.addHeader("", "") | |
| 310 .addRequestAnnotation("request annotation") | |
| 311 .addRequestAnnotation(this) | |
|
xunjieli
2016/12/19 21:18:31
are these two annotations needed?
mgersh
2016/12/19 21:37:25
Nope, just left over from an earlier version. Remo
| |
| 312 .build(); | |
| 313 try { | |
| 314 request.start(); | |
| 315 fail("UrlRequest.start() should throw IllegalArgumentException"); | |
| 316 } catch (IllegalArgumentException e) { | |
| 317 assertEquals("Invalid header =", e.getMessage()); | |
| 318 } | |
| 319 | |
| 320 mTestFramework.mCronetEngine.shutdown(); | |
| 321 } | |
| 322 | |
| 295 @SmallTest | 323 @SmallTest |
| 296 @Feature({"Cronet"}) | 324 @Feature({"Cronet"}) |
| 297 public void testMetricsGetters() throws Exception { | 325 public void testMetricsGetters() throws Exception { |
| 298 long requestStart = 1; | 326 long requestStart = 1; |
| 299 long dnsStart = 2; | 327 long dnsStart = 2; |
| 300 long dnsEnd = -1; | 328 long dnsEnd = -1; |
| 301 long connectStart = 4; | 329 long connectStart = 4; |
| 302 long connectEnd = 5; | 330 long connectEnd = 5; |
| 303 long sslStart = 6; | 331 long sslStart = 6; |
| 304 long sslEnd = 7; | 332 long sslEnd = 7; |
| (...skipping 20 matching lines...) Expand all Loading... | |
| 325 assertEquals(new Date(sslEnd), metrics.getSslEnd()); | 353 assertEquals(new Date(sslEnd), metrics.getSslEnd()); |
| 326 assertEquals(new Date(pushStart), metrics.getPushStart()); | 354 assertEquals(new Date(pushStart), metrics.getPushStart()); |
| 327 assertEquals(new Date(pushEnd), metrics.getPushEnd()); | 355 assertEquals(new Date(pushEnd), metrics.getPushEnd()); |
| 328 assertEquals(new Date(responseStart), metrics.getResponseStart()); | 356 assertEquals(new Date(responseStart), metrics.getResponseStart()); |
| 329 assertEquals(new Date(requestEnd), metrics.getRequestEnd()); | 357 assertEquals(new Date(requestEnd), metrics.getRequestEnd()); |
| 330 assertEquals(socketReused, metrics.getSocketReused()); | 358 assertEquals(socketReused, metrics.getSocketReused()); |
| 331 assertEquals(sentByteCount, (long) metrics.getSentByteCount()); | 359 assertEquals(sentByteCount, (long) metrics.getSentByteCount()); |
| 332 assertEquals(receivedByteCount, (long) metrics.getReceivedByteCount()); | 360 assertEquals(receivedByteCount, (long) metrics.getReceivedByteCount()); |
| 333 } | 361 } |
| 334 } | 362 } |
| OLD | NEW |