Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(869)

Unified Diff: net/test/android/javatests/src/org/chromium/net/test/EmbeddedTestServer.java

Issue 1218053003: [Android] Begin switching from lighttpd + apache to EmbeddedTestServer. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/net.gyp ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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;
« no previous file with comments | « net/net.gyp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698