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

Side by Side Diff: components/cronet/android/test/javatests/src/org/chromium/net/RequestFinishedInfoTest.java

Issue 2351793003: Implement timing metrics for UrlRequest (Closed)
Patch Set: Created 4 years, 3 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 unified diff | Download patch
OLDNEW
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.test.suitebuilder.annotation.SmallTest; 9 import android.test.suitebuilder.annotation.SmallTest;
10 10
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 newThread.start(); 77 newThread.start();
78 } 78 }
79 79
80 public void joinAll() throws InterruptedException { 80 public void joinAll() throws InterruptedException {
81 for (Thread thread : mThreads) { 81 for (Thread thread : mThreads) {
82 thread.join(); 82 thread.join();
83 } 83 }
84 } 84 }
85 } 85 }
86 86
87 private static class TestRequestFinishedListener extends RequestFinishedInfo .Listener { 87 static class TestRequestFinishedListener extends RequestFinishedInfo.Listene r {
88 private RequestFinishedInfo mRequestInfo; 88 RequestFinishedInfo mRequestInfo;
89 89
90 public TestRequestFinishedListener(Executor executor) { 90 public TestRequestFinishedListener(Executor executor) {
91 super(executor); 91 super(executor);
92 } 92 }
93 93
94 @Override 94 @Override
95 public void onRequestFinished(RequestFinishedInfo requestInfo) { 95 public void onRequestFinished(RequestFinishedInfo requestInfo) {
96 assertNull("onRequestFinished called repeatedly", mRequestInfo); 96 assertNull("onRequestFinished called repeatedly", mRequestInfo);
97 assertNotNull(requestInfo); 97 assertNotNull(requestInfo);
98 mRequestInfo = requestInfo; 98 mRequestInfo = requestInfo;
99 } 99 }
100 } 100 }
101 101
102 /**
103 * Check existence of all the timing metrics that apply to most test request s.
104 * Also check some timing differences, focusing on things we can't check wit h asserts in the
105 * CronetMetrics constructor.
106 * Don't check SSL and push times here.
107 */
108 static void checkTimingMetrics(
109 RequestFinishedInfo.Metrics metrics, Date startTime, Date endTime) {
110 assertNotNull(metrics.getRequestStart());
111 assertTrue(metrics.getRequestStart().after(startTime));
112 assertNotNull(metrics.getDnsStart());
113 assertTrue(metrics.getDnsStart().after(startTime));
114 assertNotNull(metrics.getDnsEnd());
115 assertTrue(metrics.getDnsEnd().before(endTime));
116 assertNotNull(metrics.getConnectStart());
117 assertTrue(metrics.getConnectStart().after(startTime));
118 assertNotNull(metrics.getConnectEnd());
119 assertTrue(metrics.getConnectEnd().before(endTime));
120 assertNotNull(metrics.getSendingStart());
121 assertTrue(metrics.getSendingStart().after(startTime));
122 assertNotNull(metrics.getSendingEnd());
123 assertTrue(metrics.getSendingEnd().before(endTime));
124 assertNotNull(metrics.getResponseStart());
125 assertTrue(metrics.getResponseStart().after(startTime));
126 assertNotNull(metrics.getResponseEnd());
127 assertTrue(metrics.getResponseEnd().before(endTime));
128 // Entire request should take more than 0 ms
129 assertTrue(metrics.getResponseEnd().getTime() - metrics.getRequestStart( ).getTime() > 0);
130 }
131
102 @SmallTest 132 @SmallTest
133 @OnlyRunNativeCronet
103 @Feature({"Cronet"}) 134 @Feature({"Cronet"})
104 @SuppressWarnings("deprecation") 135 @SuppressWarnings("deprecation")
105 public void testRequestFinishedListener() throws Exception { 136 public void testRequestFinishedListener() throws Exception {
106 mTestFramework = startCronetTestFramework(); 137 mTestFramework = startCronetTestFramework();
107 TestExecutor testExecutor = new TestExecutor(); 138 TestExecutor testExecutor = new TestExecutor();
108 TestRequestFinishedListener requestFinishedListener = 139 TestRequestFinishedListener requestFinishedListener =
109 new TestRequestFinishedListener(testExecutor); 140 new TestRequestFinishedListener(testExecutor);
110 mTestFramework.mCronetEngine.addRequestFinishedListener(requestFinishedL istener); 141 mTestFramework.mCronetEngine.addRequestFinishedListener(requestFinishedL istener);
111 TestUrlRequestCallback callback = new TestUrlRequestCallback(); 142 TestUrlRequestCallback callback = new TestUrlRequestCallback();
112 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder( 143 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder(
113 mUrl, callback, callback.getExecutor(), mTestFramework.mCronetEn gine); 144 mUrl, callback, callback.getExecutor(), mTestFramework.mCronetEn gine);
145 Date startTime = new Date();
114 urlRequestBuilder.addRequestAnnotation("request annotation") 146 urlRequestBuilder.addRequestAnnotation("request annotation")
115 .addRequestAnnotation(this) 147 .addRequestAnnotation(this)
116 .build() 148 .build()
117 .start(); 149 .start();
118 callback.blockForDone(); 150 callback.blockForDone();
151 Date endTime = new Date();
119 testExecutor.runAllTasks(); 152 testExecutor.runAllTasks();
120 153
121 RequestFinishedInfo requestInfo = requestFinishedListener.mRequestInfo; 154 RequestFinishedInfo requestInfo = requestFinishedListener.mRequestInfo;
122 assertNotNull("RequestFinishedInfo.Listener must be called", requestInfo ); 155 assertNotNull("RequestFinishedInfo.Listener must be called", requestInfo );
123 assertEquals(mUrl, requestInfo.getUrl()); 156 assertEquals(mUrl, requestInfo.getUrl());
124 assertNotNull(requestInfo.getResponseInfo()); 157 assertNotNull(requestInfo.getResponseInfo());
125 assertEquals(newHashSet("request annotation", this), // Use sets for uno rdered comparison. 158 assertEquals(newHashSet("request annotation", this), // Use sets for uno rdered comparison.
126 new HashSet<Object>(requestInfo.getAnnotations())); 159 new HashSet<Object>(requestInfo.getAnnotations()));
127 RequestFinishedInfo.Metrics metrics = requestInfo.getMetrics(); 160 RequestFinishedInfo.Metrics metrics = requestInfo.getMetrics();
128 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", metri cs); 161 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", metri cs);
162 // Check old (deprecated) timing metrics
129 assertTrue(metrics.getTotalTimeMs() > 0); 163 assertTrue(metrics.getTotalTimeMs() > 0);
130 assertTrue(metrics.getTotalTimeMs() >= metrics.getTtfbMs()); 164 assertTrue(metrics.getTotalTimeMs() >= metrics.getTtfbMs());
165 // Check new timing metrics
166 checkTimingMetrics(metrics, startTime, endTime);
167 assertNull(metrics.getSslStart());
168 assertNull(metrics.getSslEnd());
169 assertNull(metrics.getPushStart());
170 assertNull(metrics.getPushEnd());
171 // Check data use metrics
131 assertTrue(metrics.getReceivedBytesCount() > 0); 172 assertTrue(metrics.getReceivedBytesCount() > 0);
132 mTestFramework.mCronetEngine.shutdown(); 173 mTestFramework.mCronetEngine.shutdown();
133 } 174 }
134 175
135 @SmallTest 176 @SmallTest
177 @OnlyRunNativeCronet
136 @Feature({"Cronet"}) 178 @Feature({"Cronet"})
137 @SuppressWarnings("deprecation") 179 @SuppressWarnings("deprecation")
138 public void testRequestFinishedListenerDirectExecutor() throws Exception { 180 public void testRequestFinishedListenerDirectExecutor() throws Exception {
139 mTestFramework = startCronetTestFramework(); 181 mTestFramework = startCronetTestFramework();
140 Executor testExecutor = new DirectExecutor(); 182 Executor testExecutor = new DirectExecutor();
141 TestRequestFinishedListener requestFinishedListener = 183 TestRequestFinishedListener requestFinishedListener =
142 new TestRequestFinishedListener(testExecutor); 184 new TestRequestFinishedListener(testExecutor);
143 mTestFramework.mCronetEngine.addRequestFinishedListener(requestFinishedL istener); 185 mTestFramework.mCronetEngine.addRequestFinishedListener(requestFinishedL istener);
144 TestUrlRequestCallback callback = new TestUrlRequestCallback(); 186 TestUrlRequestCallback callback = new TestUrlRequestCallback();
145 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder( 187 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder(
146 mUrl, callback, callback.getExecutor(), mTestFramework.mCronetEn gine); 188 mUrl, callback, callback.getExecutor(), mTestFramework.mCronetEn gine);
189 Date startTime = new Date();
147 urlRequestBuilder.addRequestAnnotation("request annotation") 190 urlRequestBuilder.addRequestAnnotation("request annotation")
148 .addRequestAnnotation(this) 191 .addRequestAnnotation(this)
149 .build() 192 .build()
150 .start(); 193 .start();
151 callback.blockForDone(); 194 callback.blockForDone();
195 Date endTime = new Date();
152 196
153 RequestFinishedInfo requestInfo = requestFinishedListener.mRequestInfo; 197 RequestFinishedInfo requestInfo = requestFinishedListener.mRequestInfo;
154 assertNotNull("RequestFinishedInfo.Listener must be called", requestInfo ); 198 assertNotNull("RequestFinishedInfo.Listener must be called", requestInfo );
155 assertEquals(mUrl, requestInfo.getUrl()); 199 assertEquals(mUrl, requestInfo.getUrl());
156 assertNotNull(requestInfo.getResponseInfo()); 200 assertNotNull(requestInfo.getResponseInfo());
157 assertEquals(newHashSet("request annotation", this), // Use sets for uno rdered comparison. 201 assertEquals(newHashSet("request annotation", this), // Use sets for uno rdered comparison.
158 new HashSet<Object>(requestInfo.getAnnotations())); 202 new HashSet<Object>(requestInfo.getAnnotations()));
159 RequestFinishedInfo.Metrics metrics = requestInfo.getMetrics(); 203 RequestFinishedInfo.Metrics metrics = requestInfo.getMetrics();
160 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", metri cs); 204 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", metri cs);
161 assertTrue(metrics.getTotalTimeMs() > 0); 205 assertTrue(metrics.getTotalTimeMs() > 0);
162 assertTrue(metrics.getTotalTimeMs() >= metrics.getTtfbMs()); 206 assertTrue(metrics.getTotalTimeMs() >= metrics.getTtfbMs());
207 checkTimingMetrics(metrics, startTime, endTime);
163 assertTrue(metrics.getReceivedBytesCount() > 0); 208 assertTrue(metrics.getReceivedBytesCount() > 0);
164 mTestFramework.mCronetEngine.shutdown(); 209 mTestFramework.mCronetEngine.shutdown();
165 } 210 }
166 211
167 @SmallTest 212 @SmallTest
213 @OnlyRunNativeCronet
168 @Feature({"Cronet"}) 214 @Feature({"Cronet"})
169 @SuppressWarnings("deprecation") 215 @SuppressWarnings("deprecation")
170 public void testRequestFinishedListenerDifferentThreads() throws Exception { 216 public void testRequestFinishedListenerDifferentThreads() throws Exception {
171 mTestFramework = startCronetTestFramework(); 217 mTestFramework = startCronetTestFramework();
172 ThreadExecutor testExecutor = new ThreadExecutor(); 218 ThreadExecutor testExecutor = new ThreadExecutor();
173 TestRequestFinishedListener firstListener = new TestRequestFinishedListe ner(testExecutor); 219 TestRequestFinishedListener firstListener = new TestRequestFinishedListe ner(testExecutor);
174 TestRequestFinishedListener secondListener = new TestRequestFinishedList ener(testExecutor); 220 TestRequestFinishedListener secondListener = new TestRequestFinishedList ener(testExecutor);
175 mTestFramework.mCronetEngine.addRequestFinishedListener(firstListener); 221 mTestFramework.mCronetEngine.addRequestFinishedListener(firstListener);
176 mTestFramework.mCronetEngine.addRequestFinishedListener(secondListener); 222 mTestFramework.mCronetEngine.addRequestFinishedListener(secondListener);
177 TestUrlRequestCallback callback = new TestUrlRequestCallback(); 223 TestUrlRequestCallback callback = new TestUrlRequestCallback();
178 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder( 224 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder(
179 mUrl, callback, callback.getExecutor(), mTestFramework.mCronetEn gine); 225 mUrl, callback, callback.getExecutor(), mTestFramework.mCronetEn gine);
226 Date startTime = new Date();
180 urlRequestBuilder.addRequestAnnotation("request annotation") 227 urlRequestBuilder.addRequestAnnotation("request annotation")
181 .addRequestAnnotation(this) 228 .addRequestAnnotation(this)
182 .build() 229 .build()
183 .start(); 230 .start();
184 callback.blockForDone(); 231 callback.blockForDone();
232 Date endTime = new Date();
185 testExecutor.joinAll(); 233 testExecutor.joinAll();
186 234
187 RequestFinishedInfo firstRequestInfo = firstListener.mRequestInfo; 235 RequestFinishedInfo firstRequestInfo = firstListener.mRequestInfo;
188 RequestFinishedInfo secondRequestInfo = secondListener.mRequestInfo; 236 RequestFinishedInfo secondRequestInfo = secondListener.mRequestInfo;
189 assertNotNull("First RequestFinishedInfo.Listener must be called", first RequestInfo); 237 assertNotNull("First RequestFinishedInfo.Listener must be called", first RequestInfo);
190 assertNotNull("Second RequestFinishedInfo.Listener must be called", seco ndRequestInfo); 238 assertNotNull("Second RequestFinishedInfo.Listener must be called", seco ndRequestInfo);
191 assertEquals(mUrl, firstRequestInfo.getUrl()); 239 assertEquals(mUrl, firstRequestInfo.getUrl());
192 assertEquals(mUrl, secondRequestInfo.getUrl()); 240 assertEquals(mUrl, secondRequestInfo.getUrl());
193 assertNotNull(firstRequestInfo.getResponseInfo()); 241 assertNotNull(firstRequestInfo.getResponseInfo());
194 assertNotNull(secondRequestInfo.getResponseInfo()); 242 assertNotNull(secondRequestInfo.getResponseInfo());
195 assertEquals(newHashSet("request annotation", this), // Use sets for uno rdered comparison. 243 assertEquals(newHashSet("request annotation", this), // Use sets for uno rdered comparison.
196 new HashSet<Object>(firstRequestInfo.getAnnotations())); 244 new HashSet<Object>(firstRequestInfo.getAnnotations()));
197 assertEquals(newHashSet("request annotation", this), 245 assertEquals(newHashSet("request annotation", this),
198 new HashSet<Object>(secondRequestInfo.getAnnotations())); 246 new HashSet<Object>(secondRequestInfo.getAnnotations()));
199 RequestFinishedInfo.Metrics firstMetrics = firstRequestInfo.getMetrics() ; 247 RequestFinishedInfo.Metrics firstMetrics = firstRequestInfo.getMetrics() ;
200 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", first Metrics); 248 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", first Metrics);
201 assertTrue(firstMetrics.getTotalTimeMs() > 0); 249 assertTrue(firstMetrics.getTotalTimeMs() > 0);
202 assertTrue(firstMetrics.getTotalTimeMs() >= firstMetrics.getTtfbMs()); 250 assertTrue(firstMetrics.getTotalTimeMs() >= firstMetrics.getTtfbMs());
251 checkTimingMetrics(firstMetrics, startTime, endTime);
203 assertTrue(firstMetrics.getReceivedBytesCount() > 0); 252 assertTrue(firstMetrics.getReceivedBytesCount() > 0);
204 RequestFinishedInfo.Metrics secondMetrics = secondRequestInfo.getMetrics (); 253 RequestFinishedInfo.Metrics secondMetrics = secondRequestInfo.getMetrics ();
205 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", secon dMetrics); 254 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", secon dMetrics);
206 assertTrue(secondMetrics.getTotalTimeMs() > 0); 255 assertTrue(secondMetrics.getTotalTimeMs() > 0);
207 assertTrue(secondMetrics.getTotalTimeMs() >= secondMetrics.getTtfbMs()); 256 assertTrue(secondMetrics.getTotalTimeMs() >= secondMetrics.getTtfbMs());
257 checkTimingMetrics(secondMetrics, startTime, endTime);
208 assertTrue(secondMetrics.getReceivedBytesCount() > 0); 258 assertTrue(secondMetrics.getReceivedBytesCount() > 0);
209 mTestFramework.mCronetEngine.shutdown(); 259 mTestFramework.mCronetEngine.shutdown();
210 } 260 }
211 261
212 @SmallTest 262 @SmallTest
263 @OnlyRunNativeCronet
213 @Feature({"Cronet"}) 264 @Feature({"Cronet"})
214 @SuppressWarnings("deprecation") 265 @SuppressWarnings("deprecation")
215 public void testRequestFinishedListenerFailedRequest() throws Exception { 266 public void testRequestFinishedListenerFailedRequest() throws Exception {
216 String connectionRefusedUrl = "http://127.0.0.1:3"; 267 String connectionRefusedUrl = "http://127.0.0.1:3";
217 mTestFramework = startCronetTestFramework(); 268 mTestFramework = startCronetTestFramework();
218 TestExecutor testExecutor = new TestExecutor(); 269 TestExecutor testExecutor = new TestExecutor();
219 TestRequestFinishedListener requestFinishedListener = 270 TestRequestFinishedListener requestFinishedListener =
220 new TestRequestFinishedListener(testExecutor); 271 new TestRequestFinishedListener(testExecutor);
221 mTestFramework.mCronetEngine.addRequestFinishedListener(requestFinishedL istener); 272 mTestFramework.mCronetEngine.addRequestFinishedListener(requestFinishedL istener);
222 TestUrlRequestCallback callback = new TestUrlRequestCallback(); 273 TestUrlRequestCallback callback = new TestUrlRequestCallback();
223 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder(connection RefusedUrl, 274 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder(connection RefusedUrl,
224 callback, callback.getExecutor(), mTestFramework.mCronetEngine); 275 callback, callback.getExecutor(), mTestFramework.mCronetEngine);
276 Date startTime = new Date();
225 urlRequestBuilder.build().start(); 277 urlRequestBuilder.build().start();
226 callback.blockForDone(); 278 callback.blockForDone();
279 Date endTime = new Date();
227 assertTrue(callback.mOnErrorCalled); 280 assertTrue(callback.mOnErrorCalled);
228 testExecutor.runAllTasks(); 281 testExecutor.runAllTasks();
229 282
230 RequestFinishedInfo requestInfo = requestFinishedListener.mRequestInfo; 283 RequestFinishedInfo requestInfo = requestFinishedListener.mRequestInfo;
231 assertNotNull("RequestFinishedInfo.Listener must be called", requestInfo ); 284 assertNotNull("RequestFinishedInfo.Listener must be called", requestInfo );
232 assertEquals(connectionRefusedUrl, requestInfo.getUrl()); 285 assertEquals(connectionRefusedUrl, requestInfo.getUrl());
233 assertTrue(requestInfo.getAnnotations().isEmpty()); 286 assertTrue(requestInfo.getAnnotations().isEmpty());
234 RequestFinishedInfo.Metrics metrics = requestInfo.getMetrics(); 287 RequestFinishedInfo.Metrics metrics = requestInfo.getMetrics();
235 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", metri cs); 288 assertNotNull("RequestFinishedInfo.getMetrics() must not be null", metri cs);
236 // The failure is occasionally fast enough that time reported is 0, so j ust check for null 289 // The failure is occasionally fast enough that time reported is 0, so j ust check for null
237 assertNotNull(metrics.getTotalTimeMs()); 290 assertNotNull(metrics.getTotalTimeMs());
238 assertNull(metrics.getTtfbMs()); 291 assertNull(metrics.getTtfbMs());
292
293 // Check the timing metrics
294 assertNotNull(metrics.getRequestStart());
295 assertTrue(metrics.getRequestStart().after(startTime));
296 assertNull(metrics.getDnsStart());
297 assertNull(metrics.getDnsEnd());
298 assertNull(metrics.getConnectStart());
299 assertNull(metrics.getConnectEnd());
300 assertNull(metrics.getSendingStart());
301 assertNull(metrics.getSendingEnd());
302 assertNull(metrics.getResponseStart());
303 assertNotNull(metrics.getResponseEnd());
304 assertTrue(metrics.getResponseEnd().before(endTime));
305 // Entire request should take more than 0 ms
306 assertTrue(metrics.getResponseEnd().getTime() - metrics.getRequestStart( ).getTime() > 0);
307
239 assertTrue(metrics.getReceivedBytesCount() == null || metrics.getReceive dBytesCount() == 0); 308 assertTrue(metrics.getReceivedBytesCount() == null || metrics.getReceive dBytesCount() == 0);
240 mTestFramework.mCronetEngine.shutdown(); 309 mTestFramework.mCronetEngine.shutdown();
241 } 310 }
242 311
243 @SmallTest 312 @SmallTest
313 @OnlyRunNativeCronet
244 @Feature({"Cronet"}) 314 @Feature({"Cronet"})
245 @SuppressWarnings("deprecation") 315 @SuppressWarnings("deprecation")
246 public void testRequestFinishedListenerRemoved() throws Exception { 316 public void testRequestFinishedListenerRemoved() throws Exception {
247 mTestFramework = startCronetTestFramework(); 317 mTestFramework = startCronetTestFramework();
248 TestExecutor testExecutor = new TestExecutor(); 318 TestExecutor testExecutor = new TestExecutor();
249 TestRequestFinishedListener requestFinishedListener = 319 TestRequestFinishedListener requestFinishedListener =
250 new TestRequestFinishedListener(testExecutor); 320 new TestRequestFinishedListener(testExecutor);
251 mTestFramework.mCronetEngine.addRequestFinishedListener(requestFinishedL istener); 321 mTestFramework.mCronetEngine.addRequestFinishedListener(requestFinishedL istener);
252 mTestFramework.mCronetEngine.removeRequestFinishedListener(requestFinish edListener);
253 TestUrlRequestCallback callback = new TestUrlRequestCallback(); 322 TestUrlRequestCallback callback = new TestUrlRequestCallback();
254 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder( 323 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder(
255 mUrl, callback, callback.getExecutor(), mTestFramework.mCronetEn gine); 324 mUrl, callback, callback.getExecutor(), mTestFramework.mCronetEn gine);
256 urlRequestBuilder.build().start(); 325 UrlRequest request = urlRequestBuilder.build();
326 mTestFramework.mCronetEngine.removeRequestFinishedListener(requestFinish edListener);
327 request.start();
257 callback.blockForDone(); 328 callback.blockForDone();
258 testExecutor.runAllTasks(); 329 testExecutor.runAllTasks();
259 330
260 assertNull("RequestFinishedInfo.Listener must not be called", 331 assertNull("RequestFinishedInfo.Listener must not be called",
261 requestFinishedListener.mRequestInfo); 332 requestFinishedListener.mRequestInfo);
262 mTestFramework.mCronetEngine.shutdown(); 333 mTestFramework.mCronetEngine.shutdown();
263 } 334 }
264 335
265 @SmallTest 336 @SmallTest
266 @Feature({"Cronet"}) 337 @Feature({"Cronet"})
(...skipping 29 matching lines...) Expand all
296 assertEquals(new Date(sslEnd), metrics.getSslEnd()); 367 assertEquals(new Date(sslEnd), metrics.getSslEnd());
297 assertEquals(new Date(pushStart), metrics.getPushStart()); 368 assertEquals(new Date(pushStart), metrics.getPushStart());
298 assertEquals(new Date(pushEnd), metrics.getPushEnd()); 369 assertEquals(new Date(pushEnd), metrics.getPushEnd());
299 assertEquals(new Date(responseStart), metrics.getResponseStart()); 370 assertEquals(new Date(responseStart), metrics.getResponseStart());
300 assertEquals(new Date(responseEnd), metrics.getResponseEnd()); 371 assertEquals(new Date(responseEnd), metrics.getResponseEnd());
301 assertEquals(socketReused, metrics.getSocketReused()); 372 assertEquals(socketReused, metrics.getSocketReused());
302 assertEquals(sentBytesCount, (long) metrics.getSentBytesCount()); 373 assertEquals(sentBytesCount, (long) metrics.getSentBytesCount());
303 assertEquals(receivedBytesCount, (long) metrics.getReceivedBytesCount()) ; 374 assertEquals(receivedBytesCount, (long) metrics.getReceivedBytesCount()) ;
304 } 375 }
305 } 376 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698