OLD | NEW |
---|---|
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 |
OLD | NEW |