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 59aad24329b928e7d5d1bf57ad6db0a2357413fc..30c485638c37b013e999e50c1f19e4d44f55ac85 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 |
| @@ -24,6 +24,7 @@ public class CronetTestBase extends AndroidTestCase { |
| private CronetTestFramework mCronetTestFramework; |
| // {@code true} when test is being run against system HttpURLConnection implementation. |
| private boolean mTestingSystemHttpURLConnection; |
| + private boolean mTestingJavaImpl = false; |
| @Override |
| protected void setUp() throws Exception { |
| @@ -95,35 +96,57 @@ public class CronetTestBase extends AndroidTestCase { |
| return mTestingSystemHttpURLConnection; |
| } |
| + /** |
| + * Returns {@code true} when test is being run against the java implementation of CronetEngine. |
| + */ |
| + protected boolean testingJavaImpl() { |
| + return mTestingJavaImpl; |
| + } |
| + |
| @Override |
| protected void runTest() throws Throwable { |
| mTestingSystemHttpURLConnection = false; |
| - if (!getClass().getPackage().getName().equals( |
| - "org.chromium.net.urlconnection")) { |
| - super.runTest(); |
| - return; |
| - } |
| - try { |
| - Method method = getClass().getMethod(getName(), (Class[]) null); |
| - if (method.isAnnotationPresent(CompareDefaultWithCronet.class)) { |
| - // Run with the default HttpURLConnection implementation first. |
| - mTestingSystemHttpURLConnection = true; |
| - super.runTest(); |
| - // Use Cronet's implementation, and run the same test. |
| - mTestingSystemHttpURLConnection = false; |
| - URL.setURLStreamHandlerFactory(mCronetTestFramework.mStreamHandlerFactory); |
| - super.runTest(); |
| - } else if (method.isAnnotationPresent( |
| - OnlyRunCronetHttpURLConnection.class)) { |
| - // Run only with Cronet's implementation. |
| - URL.setURLStreamHandlerFactory(mCronetTestFramework.mStreamHandlerFactory); |
| - super.runTest(); |
| - } else { |
| - // For all other tests. |
| + mTestingJavaImpl = false; |
| + String packageName = getClass().getPackage().getName(); |
| + if (packageName.equals("org.chromium.net.urlconnection")) { |
| + try { |
| + Method method = getClass().getMethod(getName(), (Class[]) null); |
| + if (method.isAnnotationPresent(CompareDefaultWithCronet.class)) { |
| + // Run with the default HttpURLConnection implementation first. |
| + mTestingSystemHttpURLConnection = true; |
| + super.runTest(); |
| + // Use Cronet's implementation, and run the same test. |
| + mTestingSystemHttpURLConnection = false; |
| + URL.setURLStreamHandlerFactory(mCronetTestFramework.mStreamHandlerFactory); |
| + super.runTest(); |
| + } else if (method.isAnnotationPresent(OnlyRunCronetHttpURLConnection.class)) { |
| + // Run only with Cronet's implementation. |
| + URL.setURLStreamHandlerFactory(mCronetTestFramework.mStreamHandlerFactory); |
| + super.runTest(); |
| + } else { |
| + // For all other tests. |
| + super.runTest(); |
| + } |
| + } catch (Throwable e) { |
| + throw new Throwable("CronetTestBase#runTest failed.", e); |
| + } |
| + } else if (packageName.equals("org.chromium.net")) { |
| + try { |
| + Method method = getClass().getMethod(getName(), (Class[]) null); |
| super.runTest(); |
| + if (!method.isAnnotationPresent(OnlyRunNativeCronet.class)) { |
| + if (mCronetTestFramework != null) { |
| + mCronetTestFramework.mCronetEngine = |
| + new JavaCronetEngine(UserAgent.from(getContext())); |
| + } |
| + mTestingJavaImpl = true; |
| + super.runTest(); |
| + } |
| + } catch (Throwable e) { |
| + throw new Throwable("CronetTestBase#runTest failed.", e); |
| } |
| - } catch (Throwable e) { |
| - throw new Throwable("CronetTestBase#runTest failed.", e); |
| + } else { |
| + super.runTest(); |
| } |
| } |
| @@ -162,4 +185,7 @@ public class CronetTestBase extends AndroidTestCase { |
| public @interface OnlyRunCronetHttpURLConnection { |
| } |
| + @Target(ElementType.METHOD) |
| + @Retention(RetentionPolicy.RUNTIME) |
| + public @interface OnlyRunNativeCronet {} |
|
pauljensen
2016/01/07 04:33:38
can you make these braces match those on lines 180
Charles
2016/01/07 16:10:02
Done.
|
| } |