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

Side by Side Diff: chrome/test/ui/ppapi_uitest.cc

Issue 9227008: WebSocket Pepper API: SRPC proxy implementation (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix win32 build Created 8 years, 11 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #include "base/file_util.h" 5 #include "base/file_util.h"
6 #include "base/logging.h" 6 #include "base/logging.h"
7 #include "base/path_service.h" 7 #include "base/path_service.h"
8 #include "base/test/test_timeouts.h" 8 #include "base/test/test_timeouts.h"
9 #include "build/build_config.h" 9 #include "build/build_config.h"
10 #include "content/public/common/content_switches.h" 10 #include "content/public/common/content_switches.h"
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 net::TestServer test_server(net::TestServer::TYPE_HTTP, web_dir); 117 net::TestServer test_server(net::TestServer::TYPE_HTTP, web_dir);
118 ASSERT_TRUE(test_server.Start()); 118 ASSERT_TRUE(test_server.Start());
119 std::string query = BuildQuery("files/test_case.html?", test_case); 119 std::string query = BuildQuery("files/test_case.html?", test_case);
120 120
121 scoped_refptr<TabProxy> tab = GetActiveTab(); 121 scoped_refptr<TabProxy> tab = GetActiveTab();
122 GURL url = test_server.GetURL(query); 122 GURL url = test_server.GetURL(query);
123 EXPECT_TRUE(tab->NavigateToURLBlockUntilNavigationsComplete(url, 1)); 123 EXPECT_TRUE(tab->NavigateToURLBlockUntilNavigationsComplete(url, 1));
124 RunTestURL(tab, url); 124 RunTestURL(tab, url);
125 } 125 }
126 126
127 void RunTestWithWebSocketServer(const std::string& test_case) { 127 void RunTestWithWebSocketServer(const std::string& test_case,
128 bool via_http) {
128 FilePath websocket_root_dir; 129 FilePath websocket_root_dir;
129 ASSERT_TRUE( 130 ASSERT_TRUE(
130 PathService::Get(chrome::DIR_LAYOUT_TESTS, &websocket_root_dir)); 131 PathService::Get(chrome::DIR_LAYOUT_TESTS, &websocket_root_dir));
131 // TODO(toyoshim): Remove following logging after a bug investigation. 132 // TODO(toyoshim): Remove following logging after a bug investigation.
132 // http://crbug.com/107836 . 133 // http://crbug.com/107836 .
133 LOG(INFO) << "Assume LayoutTests in " << websocket_root_dir.MaybeAsASCII(); 134 LOG(INFO) << "Assume LayoutTests in " << websocket_root_dir.MaybeAsASCII();
134 135
135 ui_test_utils::TestWebSocketServer server; 136 ui_test_utils::TestWebSocketServer server;
136 ASSERT_TRUE(server.Start(websocket_root_dir)); 137 ASSERT_TRUE(server.Start(websocket_root_dir));
137 RunTest(test_case); 138 if (via_http)
139 RunTestViaHTTP(test_case);
dmichael (off chromium) 2012/01/17 23:32:45 I'm fine with this way, but couldn't you also just
Takashi Toyoshima 2012/01/18 11:07:16 Yes, I can. Is it make things simple? Done.
140 else
141 RunTest(test_case);
138 } 142 }
139 143
140 std::string StripPrefixes(const std::string& test_name) { 144 std::string StripPrefixes(const std::string& test_name) {
141 const char* const prefixes[] = { "FAILS_", "FLAKY_", "DISABLED_" }; 145 const char* const prefixes[] = { "FAILS_", "FLAKY_", "DISABLED_" };
142 for (size_t i = 0; i < sizeof(prefixes)/sizeof(prefixes[0]); ++i) 146 for (size_t i = 0; i < sizeof(prefixes)/sizeof(prefixes[0]); ++i)
143 if (test_name.find(prefixes[i]) == 0) 147 if (test_name.find(prefixes[i]) == 0)
144 return test_name.substr(strlen(prefixes[i])); 148 return test_name.substr(strlen(prefixes[i]));
145 return test_name; 149 return test_name;
146 } 150 }
147 151
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
286 RunTestViaHTTP(STRIP_PREFIXES(test_name)); \ 290 RunTestViaHTTP(STRIP_PREFIXES(test_name)); \
287 } 291 }
288 #define TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(test_name) \ 292 #define TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(test_name) \
289 TEST_F(OutOfProcessPPAPITest, test_name) { \ 293 TEST_F(OutOfProcessPPAPITest, test_name) { \
290 RunTestViaHTTP(STRIP_PREFIXES(test_name)); \ 294 RunTestViaHTTP(STRIP_PREFIXES(test_name)); \
291 } 295 }
292 296
293 // Similar macros that test with WebSocket server 297 // Similar macros that test with WebSocket server
294 #define TEST_PPAPI_IN_PROCESS_WITH_WS(test_name) \ 298 #define TEST_PPAPI_IN_PROCESS_WITH_WS(test_name) \
295 TEST_F(PPAPITest, test_name) { \ 299 TEST_F(PPAPITest, test_name) { \
296 RunTestWithWebSocketServer(STRIP_PREFIXES(test_name)); \ 300 RunTestWithWebSocketServer(STRIP_PREFIXES(test_name), false); \
297 } 301 }
298 #define TEST_PPAPI_OUT_OF_PROCESS_WITH_WS(test_name) \ 302 #define TEST_PPAPI_OUT_OF_PROCESS_WITH_WS(test_name) \
299 TEST_F(OutOfProcessPPAPITest, test_name) { \ 303 TEST_F(OutOfProcessPPAPITest, test_name) { \
300 RunTestWithWebSocketServer(STRIP_PREFIXES(test_name)); \ 304 RunTestWithWebSocketServer(STRIP_PREFIXES(test_name), false); \
301 } 305 }
302 306
303 307
304 #if defined(DISABLE_NACL) 308 #if defined(DISABLE_NACL)
305 #define TEST_PPAPI_NACL_VIA_HTTP(test_name) 309 #define TEST_PPAPI_NACL_VIA_HTTP(test_name)
306 #define TEST_PPAPI_NACL_VIA_HTTP_DISALLOWED_SOCKETS(test_name) 310 #define TEST_PPAPI_NACL_VIA_HTTP_DISALLOWED_SOCKETS(test_name)
311 #define TEST_PPAPI_NACL_VIA_HTTP_WITH_WS(test_name)
307 #else 312 #else
308 313
309 // NaCl based PPAPI tests 314 // NaCl based PPAPI tests
310 #define TEST_PPAPI_NACL_VIA_HTTP(test_name) \ 315 #define TEST_PPAPI_NACL_VIA_HTTP(test_name) \
311 TEST_F(PPAPINaClTest, test_name) { \ 316 TEST_F(PPAPINaClTest, test_name) { \
312 RunTestViaHTTP(STRIP_PREFIXES(test_name)); \ 317 RunTestViaHTTP(STRIP_PREFIXES(test_name)); \
313 } 318 }
314 319
315 // NaCl based PPAPI tests with disallowed socket API 320 // NaCl based PPAPI tests with disallowed socket API
316 #define TEST_PPAPI_NACL_VIA_HTTP_DISALLOWED_SOCKETS(test_name) \ 321 #define TEST_PPAPI_NACL_VIA_HTTP_DISALLOWED_SOCKETS(test_name) \
317 TEST_F(PPAPINaClTestDisallowedSockets, test_name) { \ 322 TEST_F(PPAPINaClTestDisallowedSockets, test_name) { \
318 RunTestViaHTTP(STRIP_PREFIXES(test_name)); \ 323 RunTestViaHTTP(STRIP_PREFIXES(test_name)); \
319 } 324 }
325
326 // NaCl based PPAPI tests with WebSocket server
327 #define TEST_PPAPI_NACL_VIA_HTTP_WITH_WS(test_name) \
328 TEST_F(PPAPINaClTest, test_name) { \
329 RunTestWithWebSocketServer(STRIP_PREFIXES(test_name), true); \
330 }
320 #endif 331 #endif
321 332
322 333
323 // 334 //
324 // Interface tests. 335 // Interface tests.
325 // 336 //
326 337
327 // Disable tests under ASAN. http://crbug.com/104832. 338 // Disable tests under ASAN. http://crbug.com/104832.
328 // This is a bit heavy handed, but the majority of these tests fail under ASAN. 339 // This is a bit heavy handed, but the majority of these tests fail under ASAN.
329 // See bug for history. 340 // See bug for history.
(...skipping 345 matching lines...) Expand 10 before | Expand all | Expand 10 after
675 TEST_PPAPI_IN_PROCESS(WebSocket_Protocols) 686 TEST_PPAPI_IN_PROCESS(WebSocket_Protocols)
676 TEST_PPAPI_IN_PROCESS(WebSocket_GetURL) 687 TEST_PPAPI_IN_PROCESS(WebSocket_GetURL)
677 TEST_PPAPI_IN_PROCESS_WITH_WS(WebSocket_ValidConnect) 688 TEST_PPAPI_IN_PROCESS_WITH_WS(WebSocket_ValidConnect)
678 TEST_PPAPI_IN_PROCESS_WITH_WS(WebSocket_InvalidClose) 689 TEST_PPAPI_IN_PROCESS_WITH_WS(WebSocket_InvalidClose)
679 TEST_PPAPI_IN_PROCESS_WITH_WS(WebSocket_ValidClose) 690 TEST_PPAPI_IN_PROCESS_WITH_WS(WebSocket_ValidClose)
680 TEST_PPAPI_IN_PROCESS_WITH_WS(WebSocket_GetProtocol) 691 TEST_PPAPI_IN_PROCESS_WITH_WS(WebSocket_GetProtocol)
681 TEST_PPAPI_IN_PROCESS_WITH_WS(WebSocket_TextSendReceive) 692 TEST_PPAPI_IN_PROCESS_WITH_WS(WebSocket_TextSendReceive)
682 TEST_PPAPI_IN_PROCESS_WITH_WS(WebSocket_BinarySendReceive) 693 TEST_PPAPI_IN_PROCESS_WITH_WS(WebSocket_BinarySendReceive)
683 TEST_PPAPI_IN_PROCESS_WITH_WS(WebSocket_BufferedAmount) 694 TEST_PPAPI_IN_PROCESS_WITH_WS(WebSocket_BufferedAmount)
684 TEST_PPAPI_IN_PROCESS_WITH_WS(WebSocket_CcInterfaces) 695 TEST_PPAPI_IN_PROCESS_WITH_WS(WebSocket_CcInterfaces)
696 TEST_PPAPI_NACL_VIA_HTTP(WebSocket_IsWebSocket)
697 TEST_PPAPI_NACL_VIA_HTTP(WebSocket_UninitializedPropertiesAccess)
698 TEST_PPAPI_NACL_VIA_HTTP(WebSocket_InvalidConnect)
699 TEST_PPAPI_NACL_VIA_HTTP(WebSocket_Protocols)
700 TEST_PPAPI_NACL_VIA_HTTP(WebSocket_GetURL)
701 TEST_PPAPI_NACL_VIA_HTTP_WITH_WS(WebSocket_ValidConnect)
702 TEST_PPAPI_NACL_VIA_HTTP_WITH_WS(WebSocket_InvalidClose)
703 TEST_PPAPI_NACL_VIA_HTTP_WITH_WS(WebSocket_ValidClose)
704 TEST_PPAPI_NACL_VIA_HTTP_WITH_WS(WebSocket_GetProtocol)
705 TEST_PPAPI_NACL_VIA_HTTP_WITH_WS(WebSocket_TextSendReceive)
706 TEST_PPAPI_NACL_VIA_HTTP_WITH_WS(WebSocket_BinarySendReceive)
707 TEST_PPAPI_NACL_VIA_HTTP_WITH_WS(WebSocket_BufferedAmount)
708 TEST_PPAPI_NACL_VIA_HTTP_WITH_WS(WebSocket_CcInterfaces)
685 709
686 TEST_PPAPI_IN_PROCESS(AudioConfig_ValidConfigs) 710 TEST_PPAPI_IN_PROCESS(AudioConfig_ValidConfigs)
687 TEST_PPAPI_IN_PROCESS(AudioConfig_InvalidConfigs) 711 TEST_PPAPI_IN_PROCESS(AudioConfig_InvalidConfigs)
688 TEST_PPAPI_OUT_OF_PROCESS(AudioConfig_ValidConfigs) 712 TEST_PPAPI_OUT_OF_PROCESS(AudioConfig_ValidConfigs)
689 TEST_PPAPI_OUT_OF_PROCESS(AudioConfig_InvalidConfigs) 713 TEST_PPAPI_OUT_OF_PROCESS(AudioConfig_InvalidConfigs)
690 714
691 TEST_PPAPI_IN_PROCESS(Audio_Creation) 715 TEST_PPAPI_IN_PROCESS(Audio_Creation)
692 TEST_PPAPI_IN_PROCESS(Audio_DestroyNoStop) 716 TEST_PPAPI_IN_PROCESS(Audio_DestroyNoStop)
693 TEST_PPAPI_IN_PROCESS(Audio_Failures) 717 TEST_PPAPI_IN_PROCESS(Audio_Failures)
694 TEST_PPAPI_OUT_OF_PROCESS(Audio_Creation) 718 TEST_PPAPI_OUT_OF_PROCESS(Audio_Creation)
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
755 TEST_PPAPI_IN_PROCESS(ResourceArray_Basics) 779 TEST_PPAPI_IN_PROCESS(ResourceArray_Basics)
756 TEST_PPAPI_IN_PROCESS(ResourceArray_OutOfRangeAccess) 780 TEST_PPAPI_IN_PROCESS(ResourceArray_OutOfRangeAccess)
757 TEST_PPAPI_IN_PROCESS(ResourceArray_EmptyArray) 781 TEST_PPAPI_IN_PROCESS(ResourceArray_EmptyArray)
758 TEST_PPAPI_IN_PROCESS(ResourceArray_InvalidElement) 782 TEST_PPAPI_IN_PROCESS(ResourceArray_InvalidElement)
759 TEST_PPAPI_OUT_OF_PROCESS(ResourceArray_Basics) 783 TEST_PPAPI_OUT_OF_PROCESS(ResourceArray_Basics)
760 TEST_PPAPI_OUT_OF_PROCESS(ResourceArray_OutOfRangeAccess) 784 TEST_PPAPI_OUT_OF_PROCESS(ResourceArray_OutOfRangeAccess)
761 TEST_PPAPI_OUT_OF_PROCESS(ResourceArray_EmptyArray) 785 TEST_PPAPI_OUT_OF_PROCESS(ResourceArray_EmptyArray)
762 TEST_PPAPI_OUT_OF_PROCESS(ResourceArray_InvalidElement) 786 TEST_PPAPI_OUT_OF_PROCESS(ResourceArray_InvalidElement)
763 787
764 #endif // ADDRESS_SANITIZER 788 #endif // ADDRESS_SANITIZER
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698