diff --git a/components/cronet/android/test/cronet_test_util.cc b/components/cronet/android/test/cronet_test_util.cc index 00e0699780c9a2..68563c193759d3 100644 --- a/components/cronet/android/test/cronet_test_util.cc +++ b/components/cronet/android/test/cronet_test_util.cc @@ -111,6 +111,10 @@ void JNI_CronetTestUtil_CleanupNetworkThread( jcontext_adapter, base::Bind(&CleanupNetworkThreadOnNetworkThread)); } +jboolean JNI_CronetTestUtil_CanGetTaggedBytes(JNIEnv* env) { + return net::CanGetTaggedBytes(); +} + jlong JNI_CronetTestUtil_GetTaggedBytes(JNIEnv* env, jint jexpected_tag) { return net::GetTaggedBytes(jexpected_tag); diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/BidirectionalStreamTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/BidirectionalStreamTest.java index 98654e548cd159..33abd12d43427b 100644 --- a/components/cronet/android/test/javatests/src/org/chromium/net/BidirectionalStreamTest.java +++ b/components/cronet/android/test/javatests/src/org/chromium/net/BidirectionalStreamTest.java @@ -27,6 +27,7 @@ import org.junit.Test; import org.junit.runner.RunWith; +import org.chromium.base.Log; import org.chromium.base.test.BaseJUnit4ClassRunner; import org.chromium.base.test.util.DisabledTest; import org.chromium.base.test.util.Feature; @@ -55,6 +56,8 @@ */ @RunWith(BaseJUnit4ClassRunner.class) public class BidirectionalStreamTest { + private static final String TAG = BidirectionalStreamTest.class.getSimpleName(); + @Rule public final CronetTestRule mTestRule = new CronetTestRule(); @@ -1586,6 +1589,10 @@ private static void checkSpecificErrorCode( @OnlyRunNativeCronet @RequiresMinApi(10) // Tagging support added in API level 10: crrev.com/c/chromium/src/+/937583 public void testTagging() throws Exception { + if (!CronetTestUtil.nativeCanGetTaggedBytes()) { + Log.i(TAG, "Skipping test - GetTaggedBytes unsupported."); + return; + } String url = Http2TestServer.getEchoStreamUrl(); // Test untagged requests are given tag 0. diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestTest.java index 77339a13b71337..92a79f066f006a 100644 --- a/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestTest.java +++ b/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestTest.java @@ -61,6 +61,8 @@ */ @RunWith(BaseJUnit4ClassRunner.class) public class CronetUrlRequestTest { + private static final String TAG = CronetUrlRequestTest.class.getSimpleName(); + // URL used for base tests. private static final String TEST_URL = "http://127.0.0.1:8000"; @@ -2327,6 +2329,10 @@ public void test404Head() throws Exception { @Feature({"Cronet"}) @RequiresMinApi(9) // Tagging support added in API level 9: crrev.com/c/chromium/src/+/930086 public void testTagging() throws Exception { + if (!CronetTestUtil.nativeCanGetTaggedBytes()) { + Log.i(TAG, "Skipping test - GetTaggedBytes unsupported."); + return; + } String url = NativeTestServer.getEchoMethodURL(); // Test untagged requests are given tag 0. diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetHttpURLConnectionTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetHttpURLConnectionTest.java index 95350d0764e878..5931625153fa2e 100644 --- a/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetHttpURLConnectionTest.java +++ b/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetHttpURLConnectionTest.java @@ -22,6 +22,7 @@ import org.junit.Test; import org.junit.runner.RunWith; +import org.chromium.base.Log; import org.chromium.base.test.BaseJUnit4ClassRunner; import org.chromium.base.test.util.Feature; import org.chromium.net.CronetEngine; @@ -67,6 +68,8 @@ */ @RunWith(BaseJUnit4ClassRunner.class) public class CronetHttpURLConnectionTest { + private static final String TAG = CronetHttpURLConnectionTest.class.getSimpleName(); + @Rule public final CronetTestRule mTestRule = new CronetTestRule(); @@ -1359,6 +1362,10 @@ private List getRequestHeaderValues(String allHeaders, @Feature({"Cronet"}) @RequiresMinApi(9) // Tagging support added in API level 9: crrev.com/c/chromium/src/+/930086 public void testTagging() throws Exception { + if (!CronetTestUtil.nativeCanGetTaggedBytes()) { + Log.i(TAG, "Skipping test - GetTaggedBytes unsupported."); + return; + } URL url = new URL(NativeTestServer.getEchoMethodURL()); // Test untagged requests are given tag 0. diff --git a/components/cronet/android/test/src/org/chromium/net/CronetTestUtil.java b/components/cronet/android/test/src/org/chromium/net/CronetTestUtil.java index 0b6ea2686845f7..5bb884b50f3f02 100644 --- a/components/cronet/android/test/src/org/chromium/net/CronetTestUtil.java +++ b/components/cronet/android/test/src/org/chromium/net/CronetTestUtil.java @@ -86,6 +86,11 @@ public static CronetEngineBuilderImpl getCronetEngineBuilderImpl( return (CronetEngineBuilderImpl) builder.getBuilderDelegate(); } + /** + * Returns whether the device supports calling nativeGetTaggedBytes(). + */ + public static native boolean nativeCanGetTaggedBytes(); + /** * Query the system to find out how many bytes were received with tag * {@code expectedTag} for our UID.