diff options
author | kochi@chromium.org <kochi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-12 10:08:09 +0000 |
---|---|---|
committer | kochi@chromium.org <kochi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-12 10:08:09 +0000 |
commit | 9f75cf41c142783ba92018b0144b8bae8c6a545b (patch) | |
tree | 1176024ec36fe90526e9b05d190eb684ebe57673 | |
parent | 4df13ddce146c311aba49c5d03134fcc8e674a12 (diff) | |
download | chromium_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.cc | 15 | ||||
-rw-r--r-- | chrome/browser/extensions/extension_apitest.h | 6 | ||||
-rw-r--r-- | chrome/browser/extensions/extension_websocket_apitest.cc | 5 | ||||
-rw-r--r-- | chrome/common/extensions/api/test.json | 6 | ||||
-rw-r--r-- | chrome/test/data/extensions/api_test/websocket/test.js | 16 | ||||
-rw-r--r-- | net/data/websocket/echo_wsh.py | 18 | ||||
-rwxr-xr-x | net/tools/testserver/testserver.py | 2 |
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: |