Chromium Code Reviews| Index: components/cronet/android/test/javatests/src/org/chromium/net/CronetTestBase.java |
| diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/CronetTestBase.java b/components/cronet/android/test/javatests/src/org/chromium/net/CronetTestBase.java |
| index 4ee097fb33c418381c2f96560535d627a7b99e11..6dddbaae71871347f9f63f51c362a42a17f6de17 100644 |
| --- a/components/cronet/android/test/javatests/src/org/chromium/net/CronetTestBase.java |
| +++ b/components/cronet/android/test/javatests/src/org/chromium/net/CronetTestBase.java |
| @@ -19,6 +19,7 @@ import java.lang.annotation.RetentionPolicy; |
| import java.lang.annotation.Target; |
| import java.lang.reflect.AnnotatedElement; |
| import java.net.URL; |
| +import java.net.URLStreamHandlerFactory; |
| /** |
| * Base test class for all CronetTest based tests. |
| @@ -38,6 +39,8 @@ public class CronetTestBase extends AndroidTestCase { |
| private static final String LOOPBACK_ADDRESS = "127.0.0.1"; |
| private CronetTestFramework mCronetTestFramework; |
| + private URLStreamHandlerFactory mStreamHandlerFactory; |
| + |
| // {@code true} when test is being run against system HttpURLConnection implementation. |
| private boolean mTestingSystemHttpURLConnection; |
| private boolean mTestingJavaImpl = false; |
| @@ -55,43 +58,15 @@ public class CronetTestBase extends AndroidTestCase { |
| * Starts the CronetTest framework. |
| */ |
| protected CronetTestFramework startCronetTestFramework() { |
| - return startCronetTestFrameworkWithUrlAndCronetEngineBuilder(null, null); |
| - } |
| - |
| - /** |
| - * Starts the CronetTest framework and loads the given URL. The URL can be |
| - * null. |
| - */ |
| - protected CronetTestFramework startCronetTestFrameworkWithUrl(String url) { |
| - return startCronetTestFrameworkWithUrlAndCronetEngineBuilder(url, null); |
| + return startCronetTestFrameworkWithCronetEngineBuilder(null); |
| } |
| /** |
| - * Starts the CronetTest framework using the provided CronetEngine.Builder |
| - * and loads the given URL. The URL can be null. |
| + * Starts the CronetTest framework using the provided CronetEngine.Builder. |
| */ |
| - protected CronetTestFramework startCronetTestFrameworkWithUrlAndCronetEngineBuilder( |
| - String url, ExperimentalCronetEngine.Builder builder) { |
| - mCronetTestFramework = new CronetTestFramework(url, null, getContext(), builder); |
| - return mCronetTestFramework; |
| - } |
| - |
| - /** |
| - * Starts the CronetTest framework appending the provided command line |
| - * arguments and loads the given URL. The URL can be null. |
| - */ |
| - protected CronetTestFramework startCronetTestFrameworkWithUrlAndCommandLineArgs( |
| - String url, String[] commandLineArgs) { |
| - mCronetTestFramework = new CronetTestFramework(url, commandLineArgs, getContext(), null); |
| - return mCronetTestFramework; |
| - } |
| - |
| - // Helper method to tell the framework to skip library init during construction. |
| - protected CronetTestFramework startCronetTestFrameworkAndSkipLibraryInit() { |
| - String[] commandLineArgs = { |
| - CronetTestFramework.LIBRARY_INIT_KEY, CronetTestFramework.LibraryInitType.NONE}; |
| - mCronetTestFramework = |
| - startCronetTestFrameworkWithUrlAndCommandLineArgs(null, commandLineArgs); |
| + protected CronetTestFramework startCronetTestFrameworkWithCronetEngineBuilder( |
| + ExperimentalCronetEngine.Builder builder) { |
| + mCronetTestFramework = new CronetTestFramework(getContext(), builder); |
| return mCronetTestFramework; |
| } |
| @@ -123,11 +98,11 @@ public class CronetTestBase extends AndroidTestCase { |
| super.runTest(); |
| // Use Cronet's implementation, and run the same test. |
| mTestingSystemHttpURLConnection = false; |
| - URL.setURLStreamHandlerFactory(mCronetTestFramework.mStreamHandlerFactory); |
| + URL.setURLStreamHandlerFactory(mStreamHandlerFactory); |
| super.runTest(); |
| } else if (method.isAnnotationPresent(OnlyRunCronetHttpURLConnection.class)) { |
| // Run only with Cronet's implementation. |
| - URL.setURLStreamHandlerFactory(mCronetTestFramework.mStreamHandlerFactory); |
| + URL.setURLStreamHandlerFactory(mStreamHandlerFactory); |
| super.runTest(); |
| } else { |
| // For all other tests. |
| @@ -178,7 +153,7 @@ public class CronetTestBase extends AndroidTestCase { |
| assertEquals(expected.getUrlChain(), actual.getUrlChain()); |
| assertEquals(expected.getUrl(), actual.getUrl()); |
| // Transferred bytes and proxy server are not supported in pure java |
| - if (!(mCronetTestFramework.mCronetEngine instanceof JavaCronetEngine)) { |
| + if (!testingJavaImpl()) { |
| assertEquals(expected.getReceivedByteCount(), actual.getReceivedByteCount()); |
| assertEquals(expected.getProxyServer(), actual.getProxyServer()); |
| // This is a place where behavior intentionally differs between native and java |
| @@ -194,6 +169,20 @@ public class CronetTestBase extends AndroidTestCase { |
| } |
| } |
| + public CronetEngine.Builder enableDiskCache(CronetEngine.Builder cronetEngineBuilder) { |
| + cronetEngineBuilder.setStoragePath(CronetTestFramework.getTestStorage(getContext())); |
| + cronetEngineBuilder.enableHttpCache(CronetEngine.Builder.HTTP_CACHE_DISK, 1000 * 1024); |
| + return cronetEngineBuilder; |
| + } |
| + |
| + /** |
| + * Sets the {@link UrlStreamHandlerFactory} from {@code cronetEngine}. This should be called |
|
mgersh
2017/05/23 18:12:13
nit: Url... -> URL...
pauljensen
2017/05/25 15:15:14
Done.
mgersh
2017/05/25 18:11:16
This and the one below aren't actually done?
pauljensen
2017/05/26 00:14:03
Done.
|
| + * during setup() and is installed by {@link runTest()} as the default when Cronet is tested. |
|
mgersh
2017/05/23 18:12:13
nit: setup() -> setUp()
pauljensen
2017/05/25 15:15:14
Done.
|
| + */ |
| + public void setStreamHandlerFactory(CronetEngine cronetEngine) { |
| + mStreamHandlerFactory = cronetEngine.createURLStreamHandlerFactory(); |
| + } |
| + |
| @Target(ElementType.METHOD) |
| @Retention(RetentionPolicy.RUNTIME) |
| public @interface CompareDefaultWithCronet { |