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

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

Issue 996163005: [Cronet] Delay StartNetLog and StopNetLog until native request context is initialized (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added DCHECKs Created 5 years, 9 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
« no previous file with comments | « components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 android.content.Context;
7 import android.test.suitebuilder.annotation.SmallTest; 8 import android.test.suitebuilder.annotation.SmallTest;
8 9
9 import org.chromium.base.PathUtils; 10 import org.chromium.base.PathUtils;
10 import org.chromium.base.test.util.Feature; 11 import org.chromium.base.test.util.Feature;
11 12
12 import java.io.File; 13 import java.io.File;
13 import java.util.HashMap; 14 import java.util.HashMap;
14 15
15 /** 16 /**
16 * Example test that just starts the cronet sample. 17 * Example test that just starts the cronet sample.
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 commandLineArgs); 50 commandLineArgs);
50 51
51 // Make sure that the URL is set as expected. 52 // Make sure that the URL is set as expected.
52 assertEquals(URL, activity.getUrl()); 53 assertEquals(URL, activity.getUrl());
53 assertEquals(200, activity.getHttpStatusCode()); 54 assertEquals(200, activity.getHttpStatusCode());
54 } 55 }
55 56
56 @SmallTest 57 @SmallTest
57 @Feature({"Cronet"}) 58 @Feature({"Cronet"})
58 public void testNetLog() throws Exception { 59 public void testNetLog() throws Exception {
59 CronetTestActivity activity = launchCronetTestApp(); 60 Context context = getInstrumentation().getTargetContext();
60 File directory = new File(PathUtils.getDataDirectory( 61 File directory = new File(PathUtils.getDataDirectory(context));
61 getInstrumentation().getTargetContext()));
62 File file = File.createTempFile("cronet", "json", directory); 62 File file = File.createTempFile("cronet", "json", directory);
63 activity.mRequestFactory.startNetLogToFile(file.getPath()); 63 HttpUrlRequestFactory factory = HttpUrlRequestFactory.createFactory(
64 context,
65 new UrlRequestContextConfig().setLibraryName("cronet_tests"));
66 // Start NetLog immediately after the request context is created to make
67 // sure that the call won't crash the app even when the native request
68 // context is not fully initialized. See crbug.com/470196.
69 factory.startNetLogToFile(file.getPath());
64 // Starts a request. 70 // Starts a request.
65 activity.startWithURL(URL); 71 HashMap<String, String> headers = new HashMap<String, String>();
66 Thread.sleep(5000); 72 TestHttpUrlRequestListener listener = new TestHttpUrlRequestListener();
67 activity.mRequestFactory.stopNetLog(); 73 HttpUrlRequest request = factory.createRequest(
74 URL, HttpUrlRequest.REQUEST_PRIORITY_MEDIUM, headers, listener);
75 request.start();
76 listener.blockForComplete();
77 factory.stopNetLog();
68 assertTrue(file.exists()); 78 assertTrue(file.exists());
69 assertTrue(file.length() != 0); 79 assertTrue(file.length() != 0);
70 assertTrue(file.delete()); 80 assertTrue(file.delete());
71 assertTrue(!file.exists()); 81 assertTrue(!file.exists());
72 } 82 }
73 83
74 static class BadHttpUrlRequestListener extends TestHttpUrlRequestListener { 84 static class BadHttpUrlRequestListener extends TestHttpUrlRequestListener {
75 static final String THROW_TAG = "BadListener"; 85 static final String THROW_TAG = "BadListener";
76 86
77 public BadHttpUrlRequestListener() { 87 public BadHttpUrlRequestListener() {
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 URL, HttpUrlRequest.REQUEST_PRIORITY_MEDIUM, headers, listener); 208 URL, HttpUrlRequest.REQUEST_PRIORITY_MEDIUM, headers, listener);
199 request.setHttpMethod("HEAD"); 209 request.setHttpMethod("HEAD");
200 request.start(); 210 request.start();
201 listener.blockForComplete(); 211 listener.blockForComplete();
202 assertEquals(200, listener.mHttpStatusCode); 212 assertEquals(200, listener.mHttpStatusCode);
203 // HEAD requests do not get any response data and Content-Length must be 213 // HEAD requests do not get any response data and Content-Length must be
204 // ignored. 214 // ignored.
205 assertEquals(0, listener.mResponseAsBytes.length); 215 assertEquals(0, listener.mResponseAsBytes.length);
206 } 216 }
207 } 217 }
OLDNEW
« no previous file with comments | « components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698