summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohannad Farrag <aymanm@google.com>2024-01-12 14:28:52 +0000
committerMohannad Farrag <aymanm@google.com>2024-01-17 12:34:47 +0000
commit18101fbbd1c379b6d9269b35b821f43d4ca3d502 (patch)
treeafa56a180d64279ddbc90d17f2eae808d5d530ff
parent6a98a5de53a80180f797d5e00df656330eaddb62 (diff)
downloadcronet-18101fbbd1c379b6d9269b35b821f43d4ca3d502.tar.gz
Revert Tests & Utils to `upstream-import`
* Reverted all of the test utils + test files back to their original form as found in aosp/upstream-import branch at version 121.0.6103.2 * Added @SkipPresubmit tags back again on some tests, this is the only divergence left. It will be removed once aosp/2910846 gets merged then we can change `exclude-annotation` to `exclude-filter` in TEST_MAPPING. Bug: 304217500 Test: atest NetHttpTests Change-Id: Idf8b76078aaf99613fc23ad65f9d0c6410f0d4a1
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/BrotliTest.java16
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/CronetStressTest.java2
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/CronetTestRuleTest.java66
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java83
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestTest.java21
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/DiskStorageTest.java4
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/ExperimentalOptionsTest.java13
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/Http2TestServer.java130
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/NQETest.java11
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/QuicTest.java1
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/RequestFinishedInfoTest.java9
-rw-r--r--components/cronet/android/test/mock_cert_verifier.cc2
-rw-r--r--components/cronet/android/test/proguard.cfg4
-rw-r--r--components/cronet/android/test/quic_test_server.cc8
-rw-r--r--components/cronet/android/test/smoketests/src/org/chromium/net/smoke/MissingNativeLibraryTest.java1
-rw-r--r--components/cronet/android/test/src/org/chromium/net/CronetTestUtil.java6
-rw-r--r--components/cronet/android/test/src/org/chromium/net/MockCertVerifier.java7
-rw-r--r--components/cronet/android/test/src/org/chromium/net/MockUrlRequestJobFactory.java2
-rw-r--r--components/cronet/android/test/src/org/chromium/net/QuicTestServer.java6
-rw-r--r--components/cronet/android/test/src/org/chromium/net/TestFilesInstaller.java60
-rw-r--r--components/cronet/android/test/src/org/chromium/net/TestUploadDataStreamHandler.java1
21 files changed, 186 insertions, 267 deletions
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/BrotliTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/BrotliTest.java
index 81b88c03b..d172a433f 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/BrotliTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/BrotliTest.java
@@ -15,7 +15,6 @@ import androidx.test.filters.SmallTest;
import org.junit.After;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -51,15 +50,13 @@ public class BrotliTest {
builder, QuicTestServer.createMockCertVerifier());
});
}
- assertThat(NativeTestServer.startNativeTestServer(mTestRule.getTestFramework().getContext())).isTrue();
+ assertThat(Http2TestServer.startHttp2TestServer(mTestRule.getTestFramework().getContext()))
+ .isTrue();
}
@After
public void tearDown() throws Exception {
- NativeTestServer.shutdownNativeTestServer();
- if (mCronetEngine != null) {
- mCronetEngine.shutdown();
- }
+ assertThat(Http2TestServer.shutdownHttp2TestServer()).isTrue();
}
@Test
@@ -73,17 +70,17 @@ public class BrotliTest {
});
mCronetEngine = mTestRule.getTestFramework().startEngine();
- String url = NativeTestServer.getEchoAllHeadersURL();
+ String url = Http2TestServer.getEchoAllHeadersUrl();
TestUrlRequestCallback callback = startAndWaitForComplete(url);
assertThat(callback.getResponseInfoWithChecks()).hasHttpStatusCodeThat().isEqualTo(200);
- assertThat(callback.mResponseAsString).contains("Accept-Encoding: gzip, deflate, br");
+ assertThat(callback.mResponseAsString).contains("accept-encoding: gzip, deflate, br");
}
@Test
@SmallTest
public void testBrotliNotAdvertised() throws Exception {
mCronetEngine = mTestRule.getTestFramework().startEngine();
- String url = NativeTestServer.getEchoAllHeadersURL();
+ String url = Http2TestServer.getEchoAllHeadersUrl();
TestUrlRequestCallback callback = startAndWaitForComplete(url);
assertThat(callback.getResponseInfoWithChecks()).hasHttpStatusCodeThat().isEqualTo(200);
assertThat(callback.mResponseAsString).doesNotContain("br");
@@ -91,7 +88,6 @@ public class BrotliTest {
@Test
@SmallTest
- @Ignore // TODO(danstahr): Add test server support for setting the Brotli header
public void testBrotliDecoded() throws Exception {
mTestRule
.getTestFramework()
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/CronetStressTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/CronetStressTest.java
index a5b3968c7..a23705034 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/CronetStressTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/CronetStressTest.java
@@ -11,8 +11,6 @@ import static org.chromium.net.truth.UrlResponseInfoSubject.assertThat;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.LargeTest;
-import org.chromium.base.test.util.Batch;
-import org.chromium.net.apihelpers.UploadDataProviders;
import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/CronetTestRuleTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/CronetTestRuleTest.java
index 8190ab7f8..3fa22d155 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/CronetTestRuleTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/CronetTestRuleTest.java
@@ -26,6 +26,7 @@ import org.chromium.net.CronetTestRule.IgnoreFor;
import org.chromium.net.CronetTestRule.RequiresMinAndroidApi;
import org.chromium.net.CronetTestRule.RequiresMinApi;
import org.chromium.net.impl.CronetUrlRequestContext;
+import org.chromium.net.impl.JavaCronetEngine;
/** Tests features of CronetTestRule. */
@RunWith(AndroidJUnit4.class)
@@ -84,6 +85,34 @@ public class CronetTestRuleTest {
*/
@Test
@SmallTest
+ public void testAllImplsMustRun() {
+ assertThat(mTestWasRun).isFalse();
+ mTestWasRun = true;
+ mNumberOfReruns++;
+ assertThat(mNumberOfReruns).isLessThan(4);
+ switch (mTestRule.implementationUnderTest()) {
+ case STATICALLY_LINKED:
+ assertThat(mNativeImplWasRun).isFalse();
+ mNativeImplWasRun = true;
+ break;
+ case FALLBACK:
+ assertThat(mFallbackImplWasRun).isFalse();
+ mFallbackImplWasRun = true;
+ break;
+ case AOSP_PLATFORM:
+ assertThat(mPlatformImplWasRun).isFalse();
+ mPlatformImplWasRun = true;
+ break;
+ }
+ if (mNumberOfReruns == 3) {
+ assertThat(mFallbackImplWasRun).isTrue();
+ assertThat(mPlatformImplWasRun).isTrue();
+ assertThat(mNativeImplWasRun).isTrue();
+ }
+ }
+
+ @Test
+ @SmallTest
@IgnoreFor(
implementations = {CronetImplementation.FALLBACK, CronetImplementation.AOSP_PLATFORM},
reason = "Testing the rule")
@@ -96,4 +125,41 @@ public class CronetTestRuleTest {
assertThat(mTestRule.getTestFramework().getEngine())
.isInstanceOf(CronetUrlRequestContext.class);
}
+
+ @Test
+ @SmallTest
+ @IgnoreFor(
+ implementations = {
+ CronetImplementation.STATICALLY_LINKED,
+ CronetImplementation.AOSP_PLATFORM
+ },
+ reason = "Testing the rule")
+ public void testRunOnlyJavaMustRun() {
+ assertThat(mTestRule.testingJavaImpl()).isTrue();
+ assertThat(mTestRule.implementationUnderTest()).isEqualTo(CronetImplementation.FALLBACK);
+ assertThat(mTestWasRun).isFalse();
+ mTestWasRun = true;
+ assertThat(mTestRule.getTestFramework().getEngine()).isInstanceOf(JavaCronetEngine.class);
+ }
+
+ @Test
+ @SmallTest
+ @IgnoreFor(
+ implementations = {
+ CronetImplementation.STATICALLY_LINKED,
+ CronetImplementation.FALLBACK
+ },
+ reason = "Testing the rule")
+ @RequiresMinAndroidApi(Build.VERSION_CODES.UPSIDE_DOWN_CAKE)
+ public void testRunOnlyAospPlatformMustRun() {
+ assertThat(mTestRule.testingJavaImpl()).isFalse();
+ assertThat(mTestRule.implementationUnderTest())
+ .isEqualTo(CronetImplementation.AOSP_PLATFORM);
+ assertThat(mTestWasRun).isFalse();
+ mTestWasRun = true;
+ assertThat(mTestRule.getTestFramework().getEngine())
+ .isNotInstanceOf(JavaCronetEngine.class);
+ assertThat(mTestRule.getTestFramework().getEngine())
+ .isNotInstanceOf(CronetUrlRequestContext.class);
+ }
}
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java
index 5ed4cdefd..94e7dd090 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java
@@ -5,11 +5,13 @@
package org.chromium.net;
import static com.google.common.truth.Truth.assertThat;
+
+import static org.junit.Assert.assertThrows;
+import static org.junit.Assume.assumeTrue;
+
import static org.chromium.net.CronetEngine.Builder.HTTP_CACHE_IN_MEMORY;
import static org.chromium.net.CronetTestRule.getTestStorage;
import static org.chromium.net.truth.UrlResponseInfoSubject.assertThat;
-import static org.junit.Assert.assertThrows;
-import static org.junit.Assume.assumeTrue;
import android.net.Network;
import android.os.Build;
@@ -18,9 +20,11 @@ import android.os.ConditionVariable;
import android.os.Handler;
import android.os.Looper;
import android.os.Process;
+
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.SmallTest;
import com.android.testutils.SkipPresubmit;
+
import org.jni_zero.JNINamespace;
import org.jni_zero.NativeMethods;
import org.json.JSONObject;
@@ -31,7 +35,6 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.chromium.base.Log;
-import org.chromium.base.FileUtils;
import org.chromium.base.PathUtils;
import org.chromium.base.test.util.DoNotBatch;
import org.chromium.net.CronetTestRule.CronetImplementation;
@@ -78,21 +81,23 @@ public class CronetUrlRequestContextTest {
private static final String MOCK_CRONET_TEST_SUCCESS_URL = "http://mock.http/success.txt";
private static final int MAX_FILE_SIZE = 1000000000;
+ private EmbeddedTestServer mTestServer;
private String mUrl;
private String mUrl404;
private String mUrl500;
- @Before
- public void setUp() throws Exception {
- assertThat(NativeTestServer.startNativeTestServer(mTestRule.getTestFramework().getContext())).isTrue();
- mUrl = NativeTestServer.getSuccessURL();
- mUrl404 = NativeTestServer.getNotFoundURL();
- mUrl500 = NativeTestServer.getServerErrorURL();
+ @Before
+ public void setUp() throws Exception {
+ mTestServer =
+ EmbeddedTestServer.createAndStartServer(mTestRule.getTestFramework().getContext());
+ mUrl = mTestServer.getURL("/echo?status=200");
+ mUrl404 = mTestServer.getURL("/echo?status=404");
+ mUrl500 = mTestServer.getURL("/echo?status=500");
}
@After
public void tearDown() throws Exception {
- NativeTestServer.shutdownNativeTestServer();
+ mTestServer.stopAndDestroyServer();
}
class RequestThread extends Thread {
@@ -784,7 +789,7 @@ public class CronetUrlRequestContextTest {
assertThat(logFile.exists()).isTrue();
assertThat(logFile.length()).isNotEqualTo(0);
assertThat(hasBytesInNetLog(logFile)).isFalse();
- FileUtils.recursivelyDeleteFile(netLogDir, FileUtils.DELETE_ALL);
+ FileUtils.recursivelyDeleteFile(netLogDir);
assertThat(netLogDir.exists()).isFalse();
}
@@ -845,12 +850,13 @@ public class CronetUrlRequestContextTest {
assertThat(logFile.exists()).isTrue();
assertThat(logFile.length()).isNotEqualTo(0);
- FileUtils.recursivelyDeleteFile(netLogDir, FileUtils.DELETE_ALL);
+ FileUtils.recursivelyDeleteFile(netLogDir);
assertThat(netLogDir.exists()).isFalse();
}
@Test
@SmallTest
+ @SkipPresubmit(reason = "b/293141085 flaky test")
@IgnoreFor(
implementations = {CronetImplementation.AOSP_PLATFORM},
reason = "ActiveRequestCount is not available in AOSP")
@@ -1030,6 +1036,9 @@ public class CronetUrlRequestContextTest {
@Test
@SmallTest
@SkipPresubmit(reason = "b/293141085 flaky test")
+ @IgnoreFor(
+ implementations = {CronetImplementation.AOSP_PLATFORM},
+ reason = "ActiveRequestCount is not available in AOSP")
public void testGetActiveRequestCountWithError() throws Exception {
final String badUrl = "www.unreachable-url.com";
ExperimentalCronetEngine cronetEngine = mTestRule.getTestFramework().startEngine();
@@ -1267,9 +1276,9 @@ public class CronetUrlRequestContextTest {
assertThat(containsStringInNetLog(logFile2, mUrl404)).isTrue();
assertThat(containsStringInNetLog(logFile2, mUrl500)).isTrue();
- FileUtils.recursivelyDeleteFile(netLogDir1, FileUtils.DELETE_ALL);
+ FileUtils.recursivelyDeleteFile(netLogDir1);
assertThat(netLogDir1.exists()).isFalse();
- FileUtils.recursivelyDeleteFile(netLogDir2, FileUtils.DELETE_ALL);
+ FileUtils.recursivelyDeleteFile(netLogDir2);
assertThat(netLogDir2.exists()).isFalse();
}
@@ -1292,7 +1301,10 @@ public class CronetUrlRequestContextTest {
@Test
@SmallTest
- @SkipPresubmit(reason = "b/293141085 Tests that enable disk cache are flaky")
+ @SkipPresubmit(reason = "b/293141085 flaky test")
+ @IgnoreFor(
+ implementations = {CronetImplementation.FALLBACK},
+ reason = "Fallback implementation does not have a network thread.")
// Tests that if CronetEngine is shut down on the network thread, an appropriate exception
// is thrown.
public void testShutDownEngineOnNetworkThread() throws Exception {
@@ -1350,7 +1362,10 @@ public class CronetUrlRequestContextTest {
@Test
@SmallTest
- @SkipPresubmit(reason = "b/293141085 Tests that enable disk cache are flaky")
+ @SkipPresubmit(reason = "b/293141085 flaky test")
+ @IgnoreFor(
+ implementations = {CronetImplementation.FALLBACK},
+ reason = "Fallback implementation has no support for caches")
// Tests that if CronetEngine is shut down when reading from disk cache,
// there isn't a crash. See crbug.com/486120.
public void testShutDownEngineWhenReadingFromDiskCache() throws Exception {
@@ -1449,7 +1464,7 @@ public class CronetUrlRequestContextTest {
netLogDir.getPath(), false, MAX_FILE_SIZE));
assertThat(e).hasMessageThat().isEqualTo("Engine is shut down.");
assertThat(logFile.exists()).isFalse();
- FileUtils.recursivelyDeleteFile(netLogDir, FileUtils.DELETE_ALL);
+ FileUtils.recursivelyDeleteFile(netLogDir);
assertThat(netLogDir.exists()).isFalse();
}
@@ -1511,7 +1526,7 @@ public class CronetUrlRequestContextTest {
assertThat(logFile.exists()).isTrue();
assertThat(logFile.length()).isNotEqualTo(0);
assertThat(hasBytesInNetLog(logFile)).isFalse();
- FileUtils.recursivelyDeleteFile(netLogDir, FileUtils.DELETE_ALL);
+ FileUtils.recursivelyDeleteFile(netLogDir);
assertThat(netLogDir.exists()).isFalse();
}
@@ -1575,7 +1590,7 @@ public class CronetUrlRequestContextTest {
assertThat(logFile.exists()).isTrue();
assertThat(logFile.length()).isNotEqualTo(0);
assertThat(hasBytesInNetLog(logFile)).isFalse();
- FileUtils.recursivelyDeleteFile(netLogDir, FileUtils.DELETE_ALL);
+ FileUtils.recursivelyDeleteFile(netLogDir);
assertThat(netLogDir.exists()).isFalse();
}
@@ -1631,7 +1646,7 @@ public class CronetUrlRequestContextTest {
assertThat(logFile.exists()).isTrue();
assertThat(logFile.length()).isNotEqualTo(0);
assertThat(hasBytesInNetLog(logFile)).isTrue();
- FileUtils.recursivelyDeleteFile(netLogDir, FileUtils.DELETE_ALL);
+ FileUtils.recursivelyDeleteFile(netLogDir);
assertThat(netLogDir.exists()).isFalse();
}
@@ -1721,7 +1736,9 @@ public class CronetUrlRequestContextTest {
@Test
@SmallTest
- @SkipPresubmit(reason = "b/293141085 Tests that enable disk cache are flaky")
+ @IgnoreFor(
+ implementations = {CronetImplementation.FALLBACK},
+ reason = "No caches support for fallback implementation")
public void testEnableHttpCacheDisk() throws Exception {
CronetEngine cronetEngine =
createCronetEngineWithCache(CronetEngine.Builder.HTTP_CACHE_DISK);
@@ -1735,7 +1752,10 @@ public class CronetUrlRequestContextTest {
@Test
@SmallTest
- @SkipPresubmit(reason = "b/293141085 Tests that enable disk cache are flaky")
+ @SkipPresubmit(reason = "b/293141085 flaky test")
+ @IgnoreFor(
+ implementations = {CronetImplementation.FALLBACK},
+ reason = "No caches support for fallback implementation")
public void testNoConcurrentDiskUsage() throws Exception {
CronetEngine cronetEngine =
createCronetEngineWithCache(CronetEngine.Builder.HTTP_CACHE_DISK);
@@ -1756,7 +1776,10 @@ public class CronetUrlRequestContextTest {
@Test
@SmallTest
- @SkipPresubmit(reason = "b/293141085 Tests that enable disk cache are flaky")
+ @SkipPresubmit(reason = "b/293141085 flaky test")
+ @IgnoreFor(
+ implementations = {CronetImplementation.FALLBACK},
+ reason = "No caches support for fallback implementation")
public void testEnableHttpCacheDiskNoHttp() throws Exception {
CronetEngine cronetEngine =
createCronetEngineWithCache(CronetEngine.Builder.HTTP_CACHE_DISK_NO_HTTP);
@@ -1777,7 +1800,9 @@ public class CronetUrlRequestContextTest {
@Test
@SmallTest
- @SkipPresubmit(reason = "b/293141085 Tests that enable disk cache are flaky")
+ @IgnoreFor(
+ implementations = {CronetImplementation.FALLBACK},
+ reason = "No caches support for fallback implementation")
public void testDisableCache() throws Exception {
CronetEngine cronetEngine =
createCronetEngineWithCache(CronetEngine.Builder.HTTP_CACHE_DISK);
@@ -1816,7 +1841,9 @@ public class CronetUrlRequestContextTest {
@Test
@SmallTest
- @SkipPresubmit(reason = "b/293141085 Tests that enable disk cache are flaky")
+ @IgnoreFor(
+ implementations = {CronetImplementation.FALLBACK},
+ reason = "No caches support for fallback implementation")
public void testEnableHttpCacheDiskNewEngine() throws Exception {
CronetEngine cronetEngine =
createCronetEngineWithCache(CronetEngine.Builder.HTTP_CACHE_DISK);
@@ -2038,6 +2065,9 @@ public class CronetUrlRequestContextTest {
@Test
@SmallTest
+ @IgnoreFor(
+ implementations = {CronetImplementation.FALLBACK, CronetImplementation.AOSP_PLATFORM},
+ reason = "LibraryLoader is supported only by the native implementation")
public void testSetLibraryLoaderIsEnforcedByDefaultEmbeddedProvider() throws Exception {
CronetEngine.Builder builder =
new CronetEngine.Builder(mTestRule.getTestFramework().getContext());
@@ -2058,6 +2088,9 @@ public class CronetUrlRequestContextTest {
@Test
@SmallTest
+ @IgnoreFor(
+ implementations = {CronetImplementation.FALLBACK, CronetImplementation.AOSP_PLATFORM},
+ reason = "LibraryLoader is supported only by the native implementation")
public void testSetLibraryLoaderIsIgnoredInNativeCronetEngineBuilderImpl() throws Exception {
CronetEngine.Builder builder =
new CronetEngine.Builder(
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 876921d02..1bcb2fc6e 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
@@ -25,7 +25,6 @@ import androidx.test.filters.SmallTest;
import org.jni_zero.NativeMethods;
import org.junit.After;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -43,7 +42,9 @@ import org.chromium.net.apihelpers.UploadDataProviders;
import org.chromium.net.impl.CronetUrlRequest;
import org.chromium.net.impl.NetworkExceptionImpl;
import org.chromium.net.impl.UrlResponseInfoImpl;
+import org.chromium.net.test.EmbeddedTestServer;
import org.chromium.net.test.FailurePhase;
+import org.chromium.net.test.ServerCertificate;
import java.io.IOException;
import java.net.ConnectException;
@@ -1022,19 +1023,21 @@ public class CronetUrlRequestTest {
*/
@Test
@SmallTest
- @Ignore ("b/267353182 "
- + "Figure out why EmbeddedTestServer was used instead of MockUrlForSSLCertificateError"
- + "since this is similar test to one above")
@IgnoreFor(
implementations = {CronetImplementation.FALLBACK},
reason = "crbug.com/1495320: Refactor error checking")
public void testSSLCertificateError() throws Exception {
- // EmbeddedTestServer sslServer = EmbeddedTestServer.createAndStartHTTPSServer(
- // mTestRule.getTestFramework().getContext(), ServerCertificate.CERT_EXPIRED);
+ EmbeddedTestServer sslServer =
+ EmbeddedTestServer.createAndStartHTTPSServer(
+ mTestRule.getTestFramework().getContext(), ServerCertificate.CERT_EXPIRED);
TestUrlRequestCallback callback = new TestUrlRequestCallback();
- UrlRequest.Builder builder = mTestRule.getTestFramework().getEngine().newUrlRequestBuilder(
- /* sslServer.getURL("/") */ null, callback, callback.getExecutor());
+ UrlRequest.Builder builder =
+ mTestRule
+ .getTestFramework()
+ .getEngine()
+ .newUrlRequestBuilder(
+ sslServer.getURL("/"), callback, callback.getExecutor());
TestUploadDataProvider dataProvider =
new TestUploadDataProvider(
@@ -1054,7 +1057,7 @@ public class CronetUrlRequestTest {
mTestRule.assertCronetInternalErrorCode((NetworkException) callback.mError, -201);
assertThat(callback.mResponseStep).isEqualTo(ResponseStep.ON_FAILED);
- // sslServer.stopAndDestroyServer();
+ sslServer.stopAndDestroyServer();
}
/** Checks that the buffer is updated correctly, when starting at an offset. */
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/DiskStorageTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/DiskStorageTest.java
index d971d4f22..98dde3a68 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/DiskStorageTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/DiskStorageTest.java
@@ -13,7 +13,6 @@ import static org.chromium.net.truth.UrlResponseInfoSubject.assertThat;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.SmallTest;
-
import com.android.testutils.SkipPresubmit;
import org.junit.After;
@@ -22,7 +21,6 @@ import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.chromium.base.FileUtils;
import org.chromium.base.PathUtils;
import org.chromium.base.test.util.DoNotBatch;
import org.chromium.net.CronetTestRule.CronetImplementation;
@@ -57,7 +55,7 @@ public class DiskStorageTest {
@After
public void tearDown() throws Exception {
if (mReadOnlyStoragePath != null) {
- FileUtils.recursivelyDeleteFile(new File(mReadOnlyStoragePath), FileUtils.DELETE_ALL);
+ FileUtils.recursivelyDeleteFile(new File(mReadOnlyStoragePath));
}
NativeTestServer.shutdownNativeTestServer();
}
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/ExperimentalOptionsTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/ExperimentalOptionsTest.java
index 01a63a591..6e0ae498b 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/ExperimentalOptionsTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/ExperimentalOptionsTest.java
@@ -21,13 +21,11 @@ import androidx.test.filters.MediumTest;
import com.android.testutils.SkipPresubmit;
-import org.json.JSONException;
import org.jni_zero.JNINamespace;
import org.jni_zero.NativeMethods;
import org.json.JSONObject;
import org.junit.After;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
@@ -41,6 +39,7 @@ import org.chromium.net.CronetTestRule.CronetImplementation;
import org.chromium.net.CronetTestRule.DisableAutomaticNetLog;
import org.chromium.net.CronetTestRule.IgnoreFor;
import org.chromium.net.impl.CronetUrlRequestContext;
+import org.chromium.net.test.EmbeddedTestServer;
import java.io.File;
import java.io.FileInputStream;
@@ -96,7 +95,6 @@ public class ExperimentalOptionsTest {
@Test
@MediumTest
- @Ignore("b/275345637 Needs HTTP2 Server")
@DisableAutomaticNetLog(reason = "Test is targeting NetLog")
// Tests that NetLog writes effective experimental options to NetLog.
public void testNetLog() throws Exception {
@@ -158,7 +156,6 @@ public class ExperimentalOptionsTest {
@Test
@MediumTest
- @Ignore("b/275345637 Needs HTTP2 Server")
public void testSetSSLKeyLogFile() throws Exception {
String url = Http2TestServer.getEchoMethodUrl();
File dir = new File(PathUtils.getDataDirectory());
@@ -234,9 +231,10 @@ public class ExperimentalOptionsTest {
// Tests that basic Cronet functionality works when host cache persistence is enabled, and that
// persistence works.
public void testHostCachePersistence() throws Exception {
- assertThat(NativeTestServer.startNativeTestServer(mTestRule.getTestFramework().getContext())).isTrue();
+ EmbeddedTestServer testServer =
+ EmbeddedTestServer.createAndStartServer(mTestRule.getTestFramework().getContext());
- String realUrl = NativeTestServer.getSuccessURL();
+ String realUrl = testServer.getURL("/echo?status=200");
URL javaUrl = new URL(realUrl);
String realHost = javaUrl.getHost();
int realPort = javaUrl.getPort();
@@ -288,7 +286,6 @@ public class ExperimentalOptionsTest {
callback.blockForDone();
assertThat(callback.getResponseInfoWithChecks()).hasHttpStatusCodeThat().isEqualTo(200);
context.shutdown();
- NativeTestServer.shutdownNativeTestServer();
}
@Test
@@ -316,7 +313,6 @@ public class ExperimentalOptionsTest {
@Test
@MediumTest
- @Ignore("b/275345637 Needs HTTP2 Server")
public void testDetectBrokenConnection() throws Exception {
String url = Http2TestServer.getEchoMethodUrl();
mTestRule
@@ -348,7 +344,6 @@ public class ExperimentalOptionsTest {
@DisabledTest(message = "crbug.com/1320725")
@Test
@LargeTest
- @Ignore("b/275345637 Needs HTTP2 Server")
public void testDetectBrokenConnectionOnNetworkFailure() throws Exception {
// HangingRequestUrl stops the server from replying until mHangingUrlLatch is opened,
// simulating a network failure between client and server.
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/Http2TestServer.java b/components/cronet/android/test/javatests/src/org/chromium/net/Http2TestServer.java
deleted file mode 100644
index 55c36010a..000000000
--- a/components/cronet/android/test/javatests/src/org/chromium/net/Http2TestServer.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.chromium.net;
-
-import android.content.Context;
-
-import java.io.File;
-import java.util.concurrent.CountDownLatch;
-
-
-/**
- * This is a STUB AOSP-only version of org.chromium.net.test.Http2TestServer. This will allow us
- * to not have comment out the tests but rather simply @Ignore them till we figure out what the
- * plan for a H2 server is.
- */
-public final class Http2TestServer {
-
- public static boolean shutdownHttp2TestServer() throws Exception {
- return true;
- }
-
- public static String getServerHost() {
- throw new UnsupportedOperationException("This is a stub class");
- }
-
- public static int getServerPort() {
- throw new UnsupportedOperationException("This is a stub class");
- }
-
- public static String getServerUrl() {
- throw new UnsupportedOperationException("This is a stub class");
- }
-
- public static ReportingCollector getReportingCollector() {
- throw new UnsupportedOperationException("This is a stub class");
- }
-
- public static String getEchoAllHeadersUrl() {
- throw new UnsupportedOperationException("This is a stub class");
- }
-
- public static String getEchoHeaderUrl(String headerName) {
- throw new UnsupportedOperationException("This is a stub class");
- }
-
- public static String getEchoMethodUrl() {
- throw new UnsupportedOperationException("This is a stub class");
- }
-
- /**
- * When using this you must provide a CountDownLatch in the call to startHttp2TestServer.
- * The request handler will continue to hang until the provided CountDownLatch reaches 0.
- *
- * @return url of the server resource which will hang indefinitely.
- */
- public static String getHangingRequestUrl() {
- throw new UnsupportedOperationException("This is a stub class");
- }
-
- /**
- * @return url of the server resource which will echo every received stream data frame.
- */
- public static String getEchoStreamUrl() {
- throw new UnsupportedOperationException("This is a stub class");
- }
-
- /**
- * @return url of the server resource which will echo request headers as response trailers.
- */
- public static String getEchoTrailersUrl() {
- throw new UnsupportedOperationException("This is a stub class");
- }
-
- /**
- * @return url of a brotli-encoded server resource.
- */
- public static String getServeSimpleBrotliResponse() {
- throw new UnsupportedOperationException("This is a stub class");
- }
-
- /**
- * @return url of the reporting collector
- */
- public static String getReportingCollectorUrl() {
- throw new UnsupportedOperationException("This is a stub class");
- }
-
- /**
- * @return url of a resource that includes Reporting and NEL policy headers in its response
- */
- public static String getSuccessWithNELHeadersUrl() {
- throw new UnsupportedOperationException("This is a stub class");
- }
-
- /**
- * @return url of a resource that sends response headers with the same key
- */
- public static String getCombinedHeadersUrl() {
- throw new UnsupportedOperationException("This is a stub class");
- }
-
- public static boolean startHttp2TestServer(Context context) throws Exception {
- return true;
- }
-
- public static boolean startHttp2TestServer(Context context, CountDownLatch hangingUrlLatch)
- throws Exception {
- return true;
- }
-
- private Http2TestServer() {
- }
-
- private static class ReportingCollector {
- }
-}
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/NQETest.java b/components/cronet/android/test/javatests/src/org/chromium/net/NQETest.java
index 1e490a7cb..7710ecad2 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/NQETest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/NQETest.java
@@ -18,7 +18,6 @@ import androidx.test.filters.SmallTest;
import org.json.JSONObject;
import org.junit.After;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -30,6 +29,7 @@ import org.chromium.base.test.util.HistogramWatcher;
import org.chromium.net.CronetTestRule.CronetImplementation;
import org.chromium.net.CronetTestRule.IgnoreFor;
import org.chromium.net.MetricsTestUtil.TestExecutor;
+import org.chromium.net.test.EmbeddedTestServer;
import java.io.File;
import java.io.FileInputStream;
@@ -50,6 +50,7 @@ public class NQETest {
@Rule public final CronetTestRule mTestRule = CronetTestRule.withManualEngineStartup();
+ private EmbeddedTestServer mTestServer;
private String mUrl;
// Thread on which network quality listeners should be notified.
@@ -57,13 +58,14 @@ public class NQETest {
@Before
public void setUp() throws Exception {
- assertThat(NativeTestServer.startNativeTestServer(mTestRule.getTestFramework().getContext())).isTrue();
- mUrl = NativeTestServer.getSuccessURL();
+ mTestServer =
+ EmbeddedTestServer.createAndStartServer(mTestRule.getTestFramework().getContext());
+ mUrl = mTestServer.getURL("/echo?status=200");
}
@After
public void tearDown() throws Exception {
- NativeTestServer.shutdownNativeTestServer();
+ mTestServer.stopAndDestroyServer();
}
private class ExecutorThreadFactory implements ThreadFactory {
@@ -277,7 +279,6 @@ public class NQETest {
@Test
@SmallTest
- @Ignore("b/267353182 Permission denied error")
public void testPrefsWriteRead() throws Exception {
// When the loop is run for the first time, network quality is written to the disk. The
// test verifies that in the next loop, the network quality is read back.
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/QuicTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/QuicTest.java
index b8d7442a7..2f2959e63 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/QuicTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/QuicTest.java
@@ -13,7 +13,6 @@ import static org.chromium.net.truth.UrlResponseInfoSubject.assertThat;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.LargeTest;
import androidx.test.filters.SmallTest;
-
import com.android.testutils.SkipPresubmit;
import org.json.JSONObject;
diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/RequestFinishedInfoTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/RequestFinishedInfoTest.java
index 1b0b0fd77..d55e8af3e 100644
--- a/components/cronet/android/test/javatests/src/org/chromium/net/RequestFinishedInfoTest.java
+++ b/components/cronet/android/test/javatests/src/org/chromium/net/RequestFinishedInfoTest.java
@@ -26,6 +26,7 @@ import org.chromium.net.CronetTestRule.IgnoreFor;
import org.chromium.net.CronetTestRule.RequiresMinApi;
import org.chromium.net.MetricsTestUtil.TestExecutor;
import org.chromium.net.impl.CronetMetrics;
+import org.chromium.net.test.EmbeddedTestServer;
import java.util.ArrayList;
import java.util.Date;
@@ -43,6 +44,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
public class RequestFinishedInfoTest {
@Rule public final CronetTestRule mTestRule = CronetTestRule.withAutomaticEngineStartup();
+ private EmbeddedTestServer mTestServer;
private String mUrl;
// A subclass of TestRequestFinishedListener to additionally assert that UrlRequest.Callback's
@@ -68,13 +70,14 @@ public class RequestFinishedInfoTest {
@Before
public void setUp() throws Exception {
- assertThat(NativeTestServer.startNativeTestServer(mTestRule.getTestFramework().getContext())).isTrue();
- mUrl = NativeTestServer.getSuccessURL();
+ mTestServer =
+ EmbeddedTestServer.createAndStartServer(mTestRule.getTestFramework().getContext());
+ mUrl = mTestServer.getURL("/echo?status=200");
}
@After
public void tearDown() throws Exception {
- NativeTestServer.shutdownNativeTestServer();
+ mTestServer.stopAndDestroyServer();
}
static class DirectExecutor implements Executor {
diff --git a/components/cronet/android/test/mock_cert_verifier.cc b/components/cronet/android/test/mock_cert_verifier.cc
index 3fac267cd..21558fb00 100644
--- a/components/cronet/android/test/mock_cert_verifier.cc
+++ b/components/cronet/android/test/mock_cert_verifier.cc
@@ -62,7 +62,7 @@ static jlong JNI_MockCertVerifier_CreateMockCertVerifier(
for (const auto& cert : certs) {
net::CertVerifyResult verify_result;
verify_result.verified_cert =
- net::ImportCertFromFile(test_data_dir, cert);
+ net::ImportCertFromFile(net::GetTestCertsDirectory(), cert);
// By default, HPKP verification is enabled for known trust roots only.
verify_result.is_issued_by_known_root = jknown_root;
diff --git a/components/cronet/android/test/proguard.cfg b/components/cronet/android/test/proguard.cfg
index 5df6efe76..797504ab4 100644
--- a/components/cronet/android/test/proguard.cfg
+++ b/components/cronet/android/test/proguard.cfg
@@ -11,6 +11,10 @@
# https://android.googlesource.com/platform/sdk/+/marshmallow-mr1-release/files/proguard-android.txt#54
-dontwarn android.support.**
+# Do not obfuscate this class for testing since some of the tests check the class
+# name in order to check that an instantiated engine is the Java one.
+-keepnames class org.chromium.net.impl.JavaCronetEngine
+
# These classes should be explicitly kept to avoid failure if
# class/merging/horizontal proguard optimization is enabled.
# NOTE: make sure that only test classes are added to this list.
diff --git a/components/cronet/android/test/quic_test_server.cc b/components/cronet/android/test/quic_test_server.cc
index d0c65cb9e..6e6a0daa7 100644
--- a/components/cronet/android/test/quic_test_server.cc
+++ b/components/cronet/android/test/quic_test_server.cc
@@ -71,12 +71,12 @@ void StartOnServerThread(const base::FilePath& test_files_root,
quic::QuicConfig config;
// Set up server certs.
+ base::FilePath directory = test_data_dir.Append("net/data/ssl/certificates");
std::unique_ptr<net::ProofSourceChromium> proof_source(
new net::ProofSourceChromium());
- CHECK(proof_source->Initialize(
- test_data_dir.Append("quic-chain.pem"),
- test_data_dir.Append("quic-leaf-cert.key"),
- base::FilePath()));
+ CHECK(proof_source->Initialize(directory.Append("quic-chain.pem"),
+ directory.Append("quic-leaf-cert.key"),
+ base::FilePath()));
g_quic_server = std::make_unique<net::QuicSimpleServer>(
std::move(proof_source), config,
quic::QuicCryptoServerConfig::ConfigOptions(),
diff --git a/components/cronet/android/test/smoketests/src/org/chromium/net/smoke/MissingNativeLibraryTest.java b/components/cronet/android/test/smoketests/src/org/chromium/net/smoke/MissingNativeLibraryTest.java
index 9701ac50a..fcebecd0f 100644
--- a/components/cronet/android/test/smoketests/src/org/chromium/net/smoke/MissingNativeLibraryTest.java
+++ b/components/cronet/android/test/smoketests/src/org/chromium/net/smoke/MissingNativeLibraryTest.java
@@ -19,6 +19,7 @@ import org.junit.rules.ExpectedException;
import org.junit.runner.RunWith;
import org.chromium.net.CronetEngine;
+import org.chromium.net.CronetProvider;
import org.chromium.net.ExperimentalCronetEngine;
import java.util.List;
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 20225d81a..c85e3a359 100644
--- a/components/cronet/android/test/src/org/chromium/net/CronetTestUtil.java
+++ b/components/cronet/android/test/src/org/chromium/net/CronetTestUtil.java
@@ -5,8 +5,6 @@
package org.chromium.net;
import android.net.Network;
-import org.chromium.net.CronetEngine;
-import org.chromium.net.UrlRequest;
import org.jni_zero.JNINamespace;
import org.jni_zero.NativeMethods;
@@ -92,11 +90,11 @@ public class CronetTestUtil {
}
public static void setMockCertVerifierForTesting(
- ExperimentalCronetEngine.Builder builder, long mockCertVerifier) {
+ ExperimentalCronetEngine.Builder builder, long mockCertVerifier) {
getCronetEngineBuilderImpl(builder).setMockCertVerifierForTesting(mockCertVerifier);
}
- public static CronetEngineBuilderImpl getCronetEngineBuilderImpl(
+ static CronetEngineBuilderImpl getCronetEngineBuilderImpl(
ExperimentalCronetEngine.Builder builder) {
return (CronetEngineBuilderImpl) ((ExperimentalOptionsTranslatingCronetEngineBuilder)
builder.getBuilderDelegate())
diff --git a/components/cronet/android/test/src/org/chromium/net/MockCertVerifier.java b/components/cronet/android/test/src/org/chromium/net/MockCertVerifier.java
index 80ae37f12..307ec81a5 100644
--- a/components/cronet/android/test/src/org/chromium/net/MockCertVerifier.java
+++ b/components/cronet/android/test/src/org/chromium/net/MockCertVerifier.java
@@ -7,7 +7,6 @@ package org.chromium.net;
import org.jni_zero.JNINamespace;
import org.jni_zero.NativeMethods;
-import org.chromium.base.ContextUtils;
import org.chromium.base.test.util.UrlUtils;
/**
@@ -26,8 +25,8 @@ public class MockCertVerifier {
* @return a pointer to the newly created net::MockCertVerifier.
*/
public static long createMockCertVerifier(String[] certs, boolean knownRoot) {
- return MockCertVerifierJni.get().createMockCertVerifier(certs, knownRoot,
- TestFilesInstaller.getInstalledPath(ContextUtils.getApplicationContext()));
+ return MockCertVerifierJni.get().createMockCertVerifier(
+ certs, knownRoot, UrlUtils.getIsolatedTestRoot());
}
/**
@@ -40,7 +39,7 @@ public class MockCertVerifier {
}
@NativeMethods("cronet_tests")
- public interface Natives {
+ interface Natives {
long createMockCertVerifier(String[] certs, boolean knownRoot, String testDataDir);
long createFreeForAllMockCertVerifier();
}
diff --git a/components/cronet/android/test/src/org/chromium/net/MockUrlRequestJobFactory.java b/components/cronet/android/test/src/org/chromium/net/MockUrlRequestJobFactory.java
index 00d3feb4f..935ece42f 100644
--- a/components/cronet/android/test/src/org/chromium/net/MockUrlRequestJobFactory.java
+++ b/components/cronet/android/test/src/org/chromium/net/MockUrlRequestJobFactory.java
@@ -93,7 +93,7 @@ public final class MockUrlRequestJobFactory {
}
@NativeMethods("cronet_tests")
- public interface Natives {
+ interface Natives {
long addUrlInterceptors(long requestContextAdapter);
void removeUrlInterceptorJobFactory(long interceptorHandle);
String getMockUrlWithFailure(int phase, int netError);
diff --git a/components/cronet/android/test/src/org/chromium/net/QuicTestServer.java b/components/cronet/android/test/src/org/chromium/net/QuicTestServer.java
index 3e60d8a17..fd6e6fe5e 100644
--- a/components/cronet/android/test/src/org/chromium/net/QuicTestServer.java
+++ b/components/cronet/android/test/src/org/chromium/net/QuicTestServer.java
@@ -33,10 +33,8 @@ public final class QuicTestServer {
throw new IllegalStateException("Quic server is already running");
}
TestFilesInstaller.installIfNeeded(context);
- String test_dir = TestFilesInstaller.getInstalledPath(context);
- // TestFilesInstaller implementation changed such that the test files and test data dir
- // are now the same. See aosp/2475670
- QuicTestServerJni.get().startQuicTestServer(test_dir, test_dir);
+ QuicTestServerJni.get().startQuicTestServer(
+ TestFilesInstaller.getInstalledPath(context), UrlUtils.getIsolatedTestRoot());
sServerRunning = true;
}
diff --git a/components/cronet/android/test/src/org/chromium/net/TestFilesInstaller.java b/components/cronet/android/test/src/org/chromium/net/TestFilesInstaller.java
index 1e65dd5b1..42270824b 100644
--- a/components/cronet/android/test/src/org/chromium/net/TestFilesInstaller.java
+++ b/components/cronet/android/test/src/org/chromium/net/TestFilesInstaller.java
@@ -5,71 +5,29 @@
package org.chromium.net;
import android.content.Context;
-import android.content.res.AssetManager;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.nio.file.Files;
-import java.nio.file.StandardCopyOption;
-import java.util.ArrayDeque;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Queue;
+
+import org.chromium.base.test.util.UrlUtils;
/**
- * Helper class to install test files. This moves the files to an accessible storage directory.
+ * Helper class to install test files.
*/
public final class TestFilesInstaller {
- private static final String INSTALLED_PATH_SUFFIX = "cronet_test_data";
+ // Name of the asset directory in which test files are stored.
+ private static final String TEST_FILE_ASSET_PATH = "components/cronet/testing/test_server/data";
/**
* Installs test files if files have not been installed.
*/
public static void installIfNeeded(Context context) {
- File testDataDir = new File(context.getCacheDir(), INSTALLED_PATH_SUFFIX);
-
- if (testDataDir.exists()) {
- return;
- }
-
- AssetManager assets = context.getAssets();
- try {
- for (String assetPath : listAllAssets(assets)) {
- File copiedAssetFile = new File(testDataDir, assetPath);
- copiedAssetFile.getParentFile().mkdirs();
- try (InputStream inputStream = assets.open(assetPath)) {
- Files.copy(inputStream, copiedAssetFile.toPath(), StandardCopyOption.REPLACE_EXISTING);
- }
- }
- } catch (IOException e) {
- throw new AssertionError("Failed to copy test files", e);
- }
+ // Do nothing.
+ // NOTE(pauljensen): This hook is used (overridden) when tests are run in other
+ // configurations, so it should not be removed.
}
/**
* Returns the installed path of the test files.
*/
public static String getInstalledPath(Context context) {
- return new File(context.getCacheDir(), INSTALLED_PATH_SUFFIX).getAbsolutePath();
- }
-
- private static List<String> listAllAssets(AssetManager assets) throws IOException {
- Queue<String> toProcess = new ArrayDeque<>();
- toProcess.add("");
- List<String> result = new ArrayList<>();
- while (!toProcess.isEmpty()) {
- String parent = toProcess.remove();
- String[] children = assets.list(parent);
- if (children.length > 0) {
- // It's a folder
- for (String child : children) {
- toProcess.add(new File(parent, child).toString());
- }
- } else if (!parent.isEmpty()) {
- // It's a file
- result.add(parent);
- } // Else it's the empty root folder, in which case do nothing
- }
- return result;
+ return UrlUtils.getIsolatedTestRoot() + "/" + TEST_FILE_ASSET_PATH;
}
}
diff --git a/components/cronet/android/test/src/org/chromium/net/TestUploadDataStreamHandler.java b/components/cronet/android/test/src/org/chromium/net/TestUploadDataStreamHandler.java
index 2c166f53d..5010d4c94 100644
--- a/components/cronet/android/test/src/org/chromium/net/TestUploadDataStreamHandler.java
+++ b/components/cronet/android/test/src/org/chromium/net/TestUploadDataStreamHandler.java
@@ -7,7 +7,6 @@ package org.chromium.net;
import static com.google.common.truth.Truth.assertThat;
import android.content.Context;
-import org.chromium.net.CronetEngine;
import android.os.ConditionVariable;
import org.jni_zero.CalledByNative;