summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkochi@chromium.org <kochi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-12 10:08:09 +0000
committerkochi@chromium.org <kochi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-12 10:08:09 +0000
commit9f75cf41c142783ba92018b0144b8bae8c6a545b (patch)
tree1176024ec36fe90526e9b05d190eb684ebe57673
parent4df13ddce146c311aba49c5d03134fcc8e674a12 (diff)
downloadchromium_src-9f75cf41c142783ba92018b0144b8bae8c6a545b.zip
chromium_src-9f75cf41c142783ba92018b0144b8bae8c6a545b.tar.gz
chromium_src-9f75cf41c142783ba92018b0144b8bae8c6a545b.tar.bz2
Revert 161542 - WebSocket test server migration on ExtensionApiTest.WebSocket (retry)
WebSocket test server migration from content::TestWebSocketServer to net::TestServer. This is the first change to use net::TestServer as a WebSocket test server. Other changes will follow to obsoelte content::TestWebSocketServer. BUG=137639 TEST=browser_test --gtest_filter='ExtensionApiTest.WebSocket' Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=161304 Review URL: https://chromiumcodereview.appspot.com/11087027 TBR=toyoshim@chromium.org Review URL: https://codereview.chromium.org/11114015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@161549 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/extensions/extension_apitest.cc15
-rw-r--r--chrome/browser/extensions/extension_apitest.h6
-rw-r--r--chrome/browser/extensions/extension_websocket_apitest.cc5
-rw-r--r--chrome/common/extensions/api/test.json6
-rw-r--r--chrome/test/data/extensions/api_test/websocket/test.js16
-rw-r--r--net/data/websocket/echo_wsh.py18
-rwxr-xr-xnet/tools/testserver/testserver.py2
7 files changed, 21 insertions, 47 deletions
diff --git a/chrome/browser/extensions/extension_apitest.cc b/chrome/browser/extensions/extension_apitest.cc
index b51d7be..c149d2b 100644
--- a/chrome/browser/extensions/extension_apitest.cc
+++ b/chrome/browser/extensions/extension_apitest.cc
@@ -18,8 +18,8 @@
#include "chrome/test/base/ui_test_utils.h"
#include "content/public/browser/notification_registrar.h"
#include "content/public/browser/notification_service.h"
+#include "content/public/test/browser_test_utils.h"
#include "net/base/net_util.h"
-#include "net/test/test_server.h"
namespace {
@@ -293,17 +293,12 @@ bool ExtensionApiTest::StartTestServer() {
}
bool ExtensionApiTest::StartWebSocketServer(const FilePath& root_directory) {
- websocket_server_.reset(new net::TestServer(
- net::TestServer::TYPE_WS,
- net::TestServer::kLocalhost,
- root_directory));
-
- if (!websocket_server_->Start())
+ websocket_server_.reset(new content::TestWebSocketServer());
+ int port = websocket_server_->UseRandomPort();
+ if (!websocket_server_->Start(root_directory))
return false;
- test_config_->SetInteger(kTestWebSocketPort,
- websocket_server_->host_port_pair().port());
-
+ test_config_->SetInteger(kTestWebSocketPort, port);
return true;
}
diff --git a/chrome/browser/extensions/extension_apitest.h b/chrome/browser/extensions/extension_apitest.h
index de7abb9..a923455 100644
--- a/chrome/browser/extensions/extension_apitest.h
+++ b/chrome/browser/extensions/extension_apitest.h
@@ -15,6 +15,10 @@
class FilePath;
+namespace content {
+class TestWebSocketServer;
+}
+
namespace extensions {
class Extension;
}
@@ -180,7 +184,7 @@ class ExtensionApiTest : public ExtensionBrowserTest {
scoped_ptr<DictionaryValue> test_config_;
// Hold the test WebSocket server.
- scoped_ptr<net::TestServer> websocket_server_;
+ scoped_ptr<content::TestWebSocketServer> websocket_server_;
};
// PlatformAppApiTest sets up the command-line flags necessary for platform
diff --git a/chrome/browser/extensions/extension_websocket_apitest.cc b/chrome/browser/extensions/extension_websocket_apitest.cc
index cbe9e73..7017aec 100644
--- a/chrome/browser/extensions/extension_websocket_apitest.cc
+++ b/chrome/browser/extensions/extension_websocket_apitest.cc
@@ -8,7 +8,8 @@
#include "net/base/mock_host_resolver.h"
IN_PROC_BROWSER_TEST_F(ExtensionApiTest, WebSocket) {
- ASSERT_TRUE(StartWebSocketServer(
- FilePath(FILE_PATH_LITERAL("net/data/websocket"))));
+ FilePath websocket_root_dir;
+ ASSERT_TRUE(PathService::Get(content::DIR_LAYOUT_TESTS, &websocket_root_dir));
+ ASSERT_TRUE(StartWebSocketServer(websocket_root_dir));
ASSERT_TRUE(RunExtensionTest("websocket")) << message_;
}
diff --git a/chrome/common/extensions/api/test.json b/chrome/common/extensions/api/test.json
index fafbcf1..3f299f4 100644
--- a/chrome/common/extensions/api/test.json
+++ b/chrome/common/extensions/api/test.json
@@ -35,12 +35,6 @@
"testDataDirectory": {
"type": "string",
"description": "file:/// URL for the API test data directory."
- },
- "testWebSocketPort": {
- "type": "integer",
- "description": "The port on which the test WebSocket server is listening.",
- "minimum": 1024,
- "maximum": 65535
}
}
}
diff --git a/chrome/test/data/extensions/api_test/websocket/test.js b/chrome/test/data/extensions/api_test/websocket/test.js
index 2e2adca..8041593 100644
--- a/chrome/test/data/extensions/api_test/websocket/test.js
+++ b/chrome/test/data/extensions/api_test/websocket/test.js
@@ -3,7 +3,8 @@
// found in the LICENSE file.
function echoTest(port) {
- var url = "ws://localhost:" + port + "/echo";
+ var url =
+ "ws://localhost:" + port + "/websocket/tests/hybi/workers/resources/echo";
var ws = new WebSocket(url);
var MESSAGE_A = "message a";
var MESSAGE_B = "message b";
@@ -33,11 +34,8 @@ function echoTest(port) {
};
}
-chrome.test.getConfig(function(config) {
- chrome.test.runTests([
- function runEchoTest() {
- echoTest(config.testWebSocketPort);
- }
- ]);
-});
-
+chrome.test.runTests([
+ chrome.test.getConfig(function(config) {
+ echoTest(config.testWebSocketPort);
+ })
+]);
diff --git a/net/data/websocket/echo_wsh.py b/net/data/websocket/echo_wsh.py
deleted file mode 100644
index 86ab63c..0000000
--- a/net/data/websocket/echo_wsh.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright (c) 2012 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-def web_socket_do_extra_handshake(request):
- pass # Always accept.
-
-
-def web_socket_transfer_data(request):
- while True:
- line = request.ws_stream.receive_message()
- if line is None:
- return
- if isinstance(line, unicode):
- request.ws_stream.send_message(line, binary=False)
- else:
- request.ws_stream.send_message(line, binary=True)
-
diff --git a/net/tools/testserver/testserver.py b/net/tools/testserver/testserver.py
index 4870408..55bca1e 100755
--- a/net/tools/testserver/testserver.py
+++ b/net/tools/testserver/testserver.py
@@ -2252,7 +2252,7 @@ def main(options, args):
# TODO(toyoshim): Remove following os.chdir. Currently this operation
# is required to work correctly. It should be fixed from pywebsocket side.
os.chdir(MakeDataDir())
- server = WebSocketServer(WebSocketOptions(host, port, '.'))
+ server = WebSocketServer(WebSocketOptions(host, port, MakeDataDir()))
print 'WebSocket server started on %s:%d...' % (host, server.server_port)
server_data['port'] = server.server_port
elif options.server_type == SERVER_SYNC: