| Index: net/test/android/javatests/src/org/chromium/net/test/EmbeddedTestServer.java
|
| diff --git a/net/test/android/javatests/src/org/chromium/net/test/EmbeddedTestServer.java b/net/test/android/javatests/src/org/chromium/net/test/EmbeddedTestServer.java
|
| index 06ab79e6e4ced09ddfe856c000a0f00997c29f44..838df01535667a3defa6d205b4c2c673b194f8b7 100644
|
| --- a/net/test/android/javatests/src/org/chromium/net/test/EmbeddedTestServer.java
|
| +++ b/net/test/android/javatests/src/org/chromium/net/test/EmbeddedTestServer.java
|
| @@ -65,6 +65,32 @@ public class EmbeddedTestServer {
|
| return nativeInitializeAndWaitUntilReady(mNativeEmbeddedTestServer);
|
| }
|
|
|
| + /** Thrown if a server can't be set up. */
|
| + public static final class SetupFailedError extends Error {
|
| + public SetupFailedError() {
|
| + super("Failed to set up EmbeddedTestServer.");
|
| + }
|
| + }
|
| +
|
| + /** Create and initialize a server that serves files from the provided directory.
|
| + *
|
| + * This handles native object initialization, server configuration, and server initialization.
|
| + * On returning, the server is ready for use.
|
| + *
|
| + * @param directory The directory from which files should be served.
|
| + * @return The created server.
|
| + * @throws SetupFailedError if the server can't be initialized.
|
| + */
|
| + public static EmbeddedTestServer createAndStartFileServer(File directory) {
|
| + EmbeddedTestServer server = new EmbeddedTestServer();
|
| + server.initializeNative();
|
| + server.serveFilesFromDirectory(directory);
|
| + if (!server.initializeAndWaitUntilReady()) {
|
| + throw new SetupFailedError();
|
| + }
|
| + return server;
|
| + }
|
| +
|
| /** Get the full URL for the given relative URL.
|
| *
|
| * @param relativeUrl The relative URL for which a full URL will be obtained.
|
| @@ -89,6 +115,27 @@ public class EmbeddedTestServer {
|
| assert mNativeEmbeddedTestServer == 0;
|
| }
|
|
|
| + /** Thrown if a server can't be torn down. */
|
| + public static final class TeardownFailedError extends Error {
|
| + public TeardownFailedError() {
|
| + super("Failed to tear down EmbeddedTestServer.");
|
| + }
|
| + }
|
| +
|
| + /** Stop and destroy the provided server.
|
| + *
|
| + * This handles stopping the server and destroying the native object.
|
| + *
|
| + * @param server The server to stop and destroy.
|
| + * @throws TeardownFailedError if the server can't be shut down.
|
| + */
|
| + public static void stopAndDestroyServer(EmbeddedTestServer server) {
|
| + if (!server.shutdownAndWaitUntilComplete()) {
|
| + throw new TeardownFailedError();
|
| + }
|
| + server.destroy();
|
| + }
|
| +
|
| @CalledByNative
|
| private void setNativePtr(long nativePtr) {
|
| assert mNativeEmbeddedTestServer == 0;
|
|
|