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

Side by Side 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 unified diff | Download patch
« no previous file with comments | « net/net.gyp ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.net.test; 5 package org.chromium.net.test;
6 6
7 import org.chromium.base.CalledByNative; 7 import org.chromium.base.CalledByNative;
8 import org.chromium.base.JNINamespace; 8 import org.chromium.base.JNINamespace;
9 9
10 import java.io.File; 10 import java.io.File;
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 * 58 *
59 * Note that this should be called after handlers are set up, including any relevant calls 59 * Note that this should be called after handlers are set up, including any relevant calls
60 * serveFilesFromDirectory. 60 * serveFilesFromDirectory.
61 * 61 *
62 * @return Whether the server was successfully initialized. 62 * @return Whether the server was successfully initialized.
63 */ 63 */
64 public boolean initializeAndWaitUntilReady() { 64 public boolean initializeAndWaitUntilReady() {
65 return nativeInitializeAndWaitUntilReady(mNativeEmbeddedTestServer); 65 return nativeInitializeAndWaitUntilReady(mNativeEmbeddedTestServer);
66 } 66 }
67 67
68 /** Thrown if a server can't be set up. */
69 public static final class SetupFailedError extends Error {
70 public SetupFailedError() {
71 super("Failed to set up EmbeddedTestServer.");
72 }
73 }
74
75 /** Create and initialize a server that serves files from the provided direc tory.
76 *
77 * This handles native object initialization, server configuration, and ser ver initialization.
78 * On returning, the server is ready for use.
79 *
80 * @param directory The directory from which files should be served.
81 * @return The created server.
82 * @throws SetupFailedError if the server can't be initialized.
83 */
84 public static EmbeddedTestServer createAndStartFileServer(File directory) {
85 EmbeddedTestServer server = new EmbeddedTestServer();
86 server.initializeNative();
87 server.serveFilesFromDirectory(directory);
88 if (!server.initializeAndWaitUntilReady()) {
89 throw new SetupFailedError();
90 }
91 return server;
92 }
93
68 /** Get the full URL for the given relative URL. 94 /** Get the full URL for the given relative URL.
69 * 95 *
70 * @param relativeUrl The relative URL for which a full URL will be obtaine d. 96 * @param relativeUrl The relative URL for which a full URL will be obtaine d.
71 * @return The URL as a String. 97 * @return The URL as a String.
72 */ 98 */
73 public String getURL(String relativeUrl) { 99 public String getURL(String relativeUrl) {
74 return nativeGetURL(mNativeEmbeddedTestServer, relativeUrl); 100 return nativeGetURL(mNativeEmbeddedTestServer, relativeUrl);
75 } 101 }
76 102
77 /** Shutdown the server. 103 /** Shutdown the server.
78 * 104 *
79 * @return Whether the server was successfully shut down. 105 * @return Whether the server was successfully shut down.
80 */ 106 */
81 public boolean shutdownAndWaitUntilComplete() { 107 public boolean shutdownAndWaitUntilComplete() {
82 return nativeShutdownAndWaitUntilComplete(mNativeEmbeddedTestServer); 108 return nativeShutdownAndWaitUntilComplete(mNativeEmbeddedTestServer);
83 } 109 }
84 110
85 /** Destroy the native EmbeddedTestServer object. */ 111 /** Destroy the native EmbeddedTestServer object. */
86 public void destroy() { 112 public void destroy() {
87 assert mNativeEmbeddedTestServer != 0; 113 assert mNativeEmbeddedTestServer != 0;
88 nativeDestroy(mNativeEmbeddedTestServer); 114 nativeDestroy(mNativeEmbeddedTestServer);
89 assert mNativeEmbeddedTestServer == 0; 115 assert mNativeEmbeddedTestServer == 0;
90 } 116 }
91 117
118 /** Thrown if a server can't be torn down. */
119 public static final class TeardownFailedError extends Error {
120 public TeardownFailedError() {
121 super("Failed to tear down EmbeddedTestServer.");
122 }
123 }
124
125 /** Stop and destroy the provided server.
126 *
127 * This handles stopping the server and destroying the native object.
128 *
129 * @param server The server to stop and destroy.
130 * @throws TeardownFailedError if the server can't be shut down.
131 */
132 public static void stopAndDestroyServer(EmbeddedTestServer server) {
133 if (!server.shutdownAndWaitUntilComplete()) {
134 throw new TeardownFailedError();
135 }
136 server.destroy();
137 }
138
92 @CalledByNative 139 @CalledByNative
93 private void setNativePtr(long nativePtr) { 140 private void setNativePtr(long nativePtr) {
94 assert mNativeEmbeddedTestServer == 0; 141 assert mNativeEmbeddedTestServer == 0;
95 mNativeEmbeddedTestServer = nativePtr; 142 mNativeEmbeddedTestServer = nativePtr;
96 } 143 }
97 144
98 @CalledByNative 145 @CalledByNative
99 private void clearNativePtr() { 146 private void clearNativePtr() {
100 assert mNativeEmbeddedTestServer != 0; 147 assert mNativeEmbeddedTestServer != 0;
101 mNativeEmbeddedTestServer = 0; 148 mNativeEmbeddedTestServer = 0;
102 } 149 }
103 150
104 private native void nativeInit(); 151 private native void nativeInit();
105 private native void nativeDestroy(long nativeEmbeddedTestServerAndroid); 152 private native void nativeDestroy(long nativeEmbeddedTestServerAndroid);
106 private native boolean nativeInitializeAndWaitUntilReady(long nativeEmbedded TestServerAndroid); 153 private native boolean nativeInitializeAndWaitUntilReady(long nativeEmbedded TestServerAndroid);
107 private native boolean nativeShutdownAndWaitUntilComplete(long nativeEmbedde dTestServerAndroid); 154 private native boolean nativeShutdownAndWaitUntilComplete(long nativeEmbedde dTestServerAndroid);
108 private native String nativeGetURL(long nativeEmbeddedTestServerAndroid, Str ing relativeUrl); 155 private native String nativeGetURL(long nativeEmbeddedTestServerAndroid, Str ing relativeUrl);
109 private native void nativeServeFilesFromDirectory( 156 private native void nativeServeFilesFromDirectory(
110 long nativeEmbeddedTestServerAndroid, String directoryPath); 157 long nativeEmbeddedTestServerAndroid, String directoryPath);
111 } 158 }
OLDNEW
« 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