blob: c83657d48ec8bebf6bad6fb2aff8c6cf5542b0ba [file] [log] [blame]
[email protected]50a7f3a2012-01-05 14:30:501// Copyright (c) 2012 The Chromium Authors. All rights reserved.
[email protected]37d06912010-05-20 20:00:312// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
[email protected]59261242012-03-19 13:08:595#include "chrome/test/ui/ppapi_uitest.h"
6
[email protected]f237c0f2012-03-10 07:49:107#include "base/command_line.h"
[email protected]37d06912010-05-20 20:00:318#include "base/file_util.h"
9#include "base/path_service.h"
[email protected]f237c0f2012-03-10 07:49:1010#include "base/stringprintf.h"
11#include "base/string_util.h"
[email protected]49c09c15d2010-12-10 02:46:0312#include "base/test/test_timeouts.h"
[email protected]f237c0f2012-03-10 07:49:1013#include "base/timer.h"
[email protected]37d06912010-05-20 20:00:3114#include "build/build_config.h"
[email protected]f237c0f2012-03-10 07:49:1015#include "chrome/browser/ui/browser.h"
16#include "chrome/browser/ui/browser_navigator.h"
[email protected]cee34b72011-11-18 21:52:4017#include "chrome/common/chrome_paths.h"
[email protected]37d06912010-05-20 20:00:3118#include "chrome/common/chrome_switches.h"
[email protected]f237c0f2012-03-10 07:49:1019#include "chrome/test/base/in_process_browser_test.h"
[email protected]efc3a40e2011-11-23 02:32:5120#include "chrome/test/base/ui_test_utils.h"
[email protected]f237c0f2012-03-10 07:49:1021#include "content/public/browser/dom_operation_notification_details.h"
22#include "content/public/browser/notification_types.h"
23#include "content/public/browser/web_contents.h"
[email protected]e8d05dc2012-03-22 03:19:1024#include "content/public/common/content_paths.h"
[email protected]f237c0f2012-03-10 07:49:1025#include "content/public/common/content_switches.h"
[email protected]09c37ba2012-01-05 18:00:3326#include "content/public/common/url_constants.h"
[email protected]37d06912010-05-20 20:00:3127#include "net/base/net_util.h"
[email protected]3985ba82010-07-29 21:44:1228#include "net/test/test_server.h"
[email protected]0bd753682010-12-16 18:15:5229#include "webkit/plugins/plugin_switches.h"
[email protected]37d06912010-05-20 20:00:3130
[email protected]f237c0f2012-03-10 07:49:1031using content::DomOperationNotificationDetails;
32using content::RenderViewHost;
33
[email protected]37d06912010-05-20 20:00:3134namespace {
35
[email protected]df4bdd02010-06-10 17:56:5336// Platform-specific filename relative to the chrome executable.
[email protected]37d06912010-05-20 20:00:3137#if defined(OS_WIN)
38const wchar_t library_name[] = L"ppapi_tests.dll";
39#elif defined(OS_MACOSX)
40const char library_name[] = "ppapi_tests.plugin";
41#elif defined(OS_POSIX)
[email protected]df4bdd02010-06-10 17:56:5342const char library_name[] = "libppapi_tests.so";
[email protected]37d06912010-05-20 20:00:3143#endif
44
[email protected]f237c0f2012-03-10 07:49:1045// The large timeout was causing the cycle time for the whole test suite
46// to be too long when a tiny bug caused all tests to timeout.
47// http://crbug.com/108264
48static int kTimeoutMs = 90000;
49//static int kTimeoutMs = TestTimeouts::large_test_timeout_ms());
50
51class TestFinishObserver : public content::NotificationObserver {
52 public:
53 explicit TestFinishObserver(RenderViewHost* render_view_host, int timeout_s)
54 : finished_(false), waiting_(false), timeout_s_(timeout_s) {
55 registrar_.Add(this, content::NOTIFICATION_DOM_OPERATION_RESPONSE,
56 content::Source<RenderViewHost>(render_view_host));
57 timer_.Start(FROM_HERE, base::TimeDelta::FromSeconds(timeout_s),
58 this, &TestFinishObserver::OnTimeout);
59 }
60
61 bool WaitForFinish() {
62 if (!finished_) {
63 waiting_ = true;
64 ui_test_utils::RunMessageLoop();
65 waiting_ = false;
66 }
67 return finished_;
68 }
69
70 virtual void Observe(int type,
71 const content::NotificationSource& source,
72 const content::NotificationDetails& details) {
73 DCHECK(type == content::NOTIFICATION_DOM_OPERATION_RESPONSE);
74 content::Details<DomOperationNotificationDetails> dom_op_details(details);
75 // We might receive responses for other script execution, but we only
76 // care about the test finished message.
77 std::string response;
78 TrimString(dom_op_details->json, "\"", &response);
79 if (response == "...") {
80 timer_.Stop();
81 timer_.Start(FROM_HERE, base::TimeDelta::FromSeconds(timeout_s_),
82 this, &TestFinishObserver::OnTimeout);
83 } else {
84 result_ = response;
85 finished_ = true;
86 if (waiting_)
87 MessageLoopForUI::current()->Quit();
88 }
89 }
90
91 std::string result() const { return result_; }
92
93 void Reset() {
94 finished_ = false;
95 waiting_ = false;
96 result_.clear();
97 }
98
99 private:
100 void OnTimeout() {
101 MessageLoopForUI::current()->Quit();
102 }
103
104 bool finished_;
105 bool waiting_;
106 int timeout_s_;
107 std::string result_;
108 content::NotificationRegistrar registrar_;
109 base::RepeatingTimer<TestFinishObserver> timer_;
110
111 DISALLOW_COPY_AND_ASSIGN(TestFinishObserver);
112};
113
[email protected]37d06912010-05-20 20:00:31114} // namespace
115
[email protected]59261242012-03-19 13:08:59116PPAPITestBase::PPAPITestBase() {
117 EnableDOMAutomation();
118}
119
120void PPAPITestBase::SetUpCommandLine(CommandLine* command_line) {
121 // The test sends us the result via a cookie.
122 command_line->AppendSwitch(switches::kEnableFileCookies);
123
124 // Some stuff is hung off of the testing interface which is not enabled
125 // by default.
126 command_line->AppendSwitch(switches::kEnablePepperTesting);
127
128 // Smooth scrolling confuses the scrollbar test.
129 command_line->AppendSwitch(switches::kDisableSmoothScrolling);
130}
131
132GURL PPAPITestBase::GetTestFileUrl(const std::string& test_case) {
133 FilePath test_path;
134 EXPECT_TRUE(PathService::Get(base::DIR_SOURCE_ROOT, &test_path));
135 test_path = test_path.Append(FILE_PATH_LITERAL("ppapi"));
136 test_path = test_path.Append(FILE_PATH_LITERAL("tests"));
137 test_path = test_path.Append(FILE_PATH_LITERAL("test_case.html"));
138
139 // Sanity check the file name.
140 EXPECT_TRUE(file_util::PathExists(test_path));
141
142 GURL test_url = net::FilePathToFileURL(test_path);
143
144 GURL::Replacements replacements;
145 std::string query = BuildQuery("", test_case);
146 replacements.SetQuery(query.c_str(), url_parse::Component(0, query.size()));
147 return test_url.ReplaceComponents(replacements);
148}
149
150void PPAPITestBase::RunTest(const std::string& test_case) {
151 GURL url = GetTestFileUrl(test_case);
152 RunTestURL(url);
153}
154
155void PPAPITestBase::RunTestAndReload(const std::string& test_case) {
156 GURL url = GetTestFileUrl(test_case);
157 RunTestURL(url);
158 // If that passed, we simply run the test again, which navigates again.
159 RunTestURL(url);
160}
161
162void PPAPITestBase::RunTestViaHTTP(const std::string& test_case) {
[email protected]6c113402012-03-23 01:31:51163 FilePath document_root;
164 ASSERT_TRUE(GetHTTPDocumentRoot(&document_root));
165 RunHTTPTestServer(document_root, test_case, "");
166}
[email protected]59261242012-03-19 13:08:59167
[email protected]6c113402012-03-23 01:31:51168void PPAPITestBase::RunTestWithSSLServer(const std::string& test_case) {
169 FilePath document_root;
170 ASSERT_TRUE(GetHTTPDocumentRoot(&document_root));
171 net::TestServer test_server(net::BaseTestServer::HTTPSOptions(),
172 document_root);
[email protected]59261242012-03-19 13:08:59173 ASSERT_TRUE(test_server.Start());
[email protected]6c113402012-03-23 01:31:51174 uint16_t port = test_server.host_port_pair().port();
175 RunHTTPTestServer(document_root, test_case,
176 StringPrintf("ssl_server_port=%d", port));
[email protected]59261242012-03-19 13:08:59177}
[email protected]eff5e8882010-10-20 00:24:46178
[email protected]59261242012-03-19 13:08:59179void PPAPITestBase::RunTestWithWebSocketServer(const std::string& test_case) {
180 FilePath websocket_root_dir;
181 ASSERT_TRUE(
[email protected]e8d05dc2012-03-22 03:19:10182 PathService::Get(content::DIR_LAYOUT_TESTS, &websocket_root_dir));
[email protected]59261242012-03-19 13:08:59183 ui_test_utils::TestWebSocketServer server;
184 int port = server.UseRandomPort();
185 ASSERT_TRUE(server.Start(websocket_root_dir));
[email protected]6c113402012-03-23 01:31:51186 FilePath http_document_root;
187 ASSERT_TRUE(GetHTTPDocumentRoot(&http_document_root));
188 RunHTTPTestServer(http_document_root, test_case,
189 StringPrintf("websocket_port=%d", port));
[email protected]59261242012-03-19 13:08:59190}
[email protected]cee34b72011-11-18 21:52:40191
[email protected]59261242012-03-19 13:08:59192std::string PPAPITestBase::StripPrefixes(const std::string& test_name) {
193 const char* const prefixes[] = {
194 "FAILS_", "FLAKY_", "DISABLED_", "SLOW_" };
195 for (size_t i = 0; i < sizeof(prefixes)/sizeof(prefixes[0]); ++i)
196 if (test_name.find(prefixes[i]) == 0)
197 return test_name.substr(strlen(prefixes[i]));
198 return test_name;
199}
[email protected]37d06912010-05-20 20:00:31200
[email protected]59261242012-03-19 13:08:59201void PPAPITestBase::RunTestURL(const GURL& test_url) {
202 // See comment above TestingInstance in ppapi/test/testing_instance.h.
203 // Basically it sends messages using the DOM automation controller. The
204 // value of "..." means it's still working and we should continue to wait,
205 // any other value indicates completion (in this case it will start with
206 // "PASS" or "FAIL"). This keeps us from timing out on waits for long tests.
207 TestFinishObserver observer(
208 browser()->GetSelectedWebContents()->GetRenderViewHost(), kTimeoutMs);
[email protected]37d06912010-05-20 20:00:31209
[email protected]59261242012-03-19 13:08:59210 ui_test_utils::NavigateToURL(browser(), test_url);
[email protected]09c37ba2012-01-05 18:00:33211
[email protected]59261242012-03-19 13:08:59212 ASSERT_TRUE(observer.WaitForFinish()) << "Test timed out.";
[email protected]09c37ba2012-01-05 18:00:33213
[email protected]59261242012-03-19 13:08:59214 EXPECT_STREQ("PASS", observer.result().c_str());
215}
[email protected]44d80ea2010-07-02 20:14:25216
[email protected]6c113402012-03-23 01:31:51217void PPAPITestBase::RunHTTPTestServer(
218 const FilePath& document_root,
219 const std::string& test_case,
220 const std::string& extra_params) {
221 net::TestServer test_server(net::TestServer::TYPE_HTTP,
222 net::TestServer::kLocalhost,
223 document_root);
224 ASSERT_TRUE(test_server.Start());
225 std::string query = BuildQuery("files/test_case.html?", test_case);
226 if (!extra_params.empty())
227 query = StringPrintf("%s&%s", query.c_str(), extra_params.c_str());
228
229 GURL url = test_server.GetURL(query);
230 RunTestURL(url);
231}
232
233bool PPAPITestBase::GetHTTPDocumentRoot(FilePath* document_root) {
234 // For HTTP tests, we use the output DIR to grab the generated files such
235 // as the NEXEs.
236 FilePath exe_dir = CommandLine::ForCurrentProcess()->GetProgram().DirName();
237 FilePath src_dir;
238 if (!PathService::Get(base::DIR_SOURCE_ROOT, &src_dir))
239 return false;
240
241 // TestServer expects a path relative to source. So we must first
242 // generate absolute paths to SRC and EXE and from there generate
243 // a relative path.
244 if (!exe_dir.IsAbsolute()) file_util::AbsolutePath(&exe_dir);
245 if (!src_dir.IsAbsolute()) file_util::AbsolutePath(&src_dir);
246 if (!exe_dir.IsAbsolute())
247 return false;
248 if (!src_dir.IsAbsolute())
249 return false;
250
251 size_t match, exe_size, src_size;
252 std::vector<FilePath::StringType> src_parts, exe_parts;
253
254 // Determine point at which src and exe diverge, and create a relative path.
255 exe_dir.GetComponents(&exe_parts);
256 src_dir.GetComponents(&src_parts);
257 exe_size = exe_parts.size();
258 src_size = src_parts.size();
259 for (match = 0; match < exe_size && match < src_size; ++match) {
260 if (exe_parts[match] != src_parts[match])
261 break;
262 }
263 for (size_t tmp_itr = match; tmp_itr < src_size; ++tmp_itr) {
264 *document_root = document_root->Append(FILE_PATH_LITERAL(".."));
265 }
266 for (; match < exe_size; ++match) {
267 *document_root = document_root->Append(exe_parts[match]);
268 }
269 return true;
270}
271
[email protected]59261242012-03-19 13:08:59272PPAPITest::PPAPITest() {
273}
[email protected]13e343c2012-03-16 22:34:22274
[email protected]59261242012-03-19 13:08:59275void PPAPITest::SetUpCommandLine(CommandLine* command_line) {
276 PPAPITestBase::SetUpCommandLine(command_line);
[email protected]cee34b72011-11-18 21:52:40277
[email protected]59261242012-03-19 13:08:59278 // Append the switch to register the pepper plugin.
279 // library name = <out dir>/<test_name>.<library_extension>
280 // MIME type = application/x-ppapi-<test_name>
281 FilePath plugin_dir;
282 EXPECT_TRUE(PathService::Get(base::DIR_MODULE, &plugin_dir));
[email protected]cee34b72011-11-18 21:52:40283
[email protected]59261242012-03-19 13:08:59284 FilePath plugin_lib = plugin_dir.Append(library_name);
285 EXPECT_TRUE(file_util::PathExists(plugin_lib));
286 FilePath::StringType pepper_plugin = plugin_lib.value();
287 pepper_plugin.append(FILE_PATH_LITERAL(";application/x-ppapi-tests"));
288 command_line->AppendSwitchNative(switches::kRegisterPepperPlugins,
289 pepper_plugin);
290 command_line->AppendSwitchASCII(switches::kAllowNaClSocketAPI, "127.0.0.1");
291}
[email protected]cee34b72011-11-18 21:52:40292
[email protected]59261242012-03-19 13:08:59293std::string PPAPITest::BuildQuery(const std::string& base,
294 const std::string& test_case){
295 return StringPrintf("%stestcase=%s", base.c_str(), test_case.c_str());
296}
[email protected]cee34b72011-11-18 21:52:40297
[email protected]59261242012-03-19 13:08:59298OutOfProcessPPAPITest::OutOfProcessPPAPITest() {
299}
[email protected]09c37ba2012-01-05 18:00:33300
[email protected]59261242012-03-19 13:08:59301void OutOfProcessPPAPITest::SetUpCommandLine(CommandLine* command_line) {
302 PPAPITest::SetUpCommandLine(command_line);
[email protected]44d80ea2010-07-02 20:14:25303
[email protected]59261242012-03-19 13:08:59304 // Run PPAPI out-of-process to exercise proxy implementations.
305 command_line->AppendSwitch(switches::kPpapiOutOfProcess);
306}
[email protected]efc3a40e2011-11-23 02:32:51307
[email protected]59261242012-03-19 13:08:59308PPAPINaClTest::PPAPINaClTest() {
309}
[email protected]efc3a40e2011-11-23 02:32:51310
[email protected]59261242012-03-19 13:08:59311void PPAPINaClTest::SetUpCommandLine(CommandLine* command_line) {
312 PPAPITestBase::SetUpCommandLine(command_line);
[email protected]d4067422011-12-07 05:24:24313
[email protected]59261242012-03-19 13:08:59314 FilePath plugin_lib;
315 EXPECT_TRUE(PathService::Get(chrome::FILE_NACL_PLUGIN, &plugin_lib));
316 EXPECT_TRUE(file_util::PathExists(plugin_lib));
[email protected]49c09c15d2010-12-10 02:46:03317
[email protected]59261242012-03-19 13:08:59318 // Enable running NaCl outside of the store.
319 command_line->AppendSwitch(switches::kEnableNaCl);
320 command_line->AppendSwitchASCII(switches::kAllowNaClSocketAPI, "127.0.0.1");
321}
[email protected]49c09c15d2010-12-10 02:46:03322
[email protected]59261242012-03-19 13:08:59323// Append the correct mode and testcase string
324std::string PPAPINaClTest::BuildQuery(const std::string& base,
325 const std::string& test_case) {
326 return StringPrintf("%smode=nacl&testcase=%s", base.c_str(),
327 test_case.c_str());
328}
[email protected]f237c0f2012-03-10 07:49:10329
[email protected]59261242012-03-19 13:08:59330PPAPINaClTestDisallowedSockets::PPAPINaClTestDisallowedSockets() {
331}
[email protected]37d06912010-05-20 20:00:31332
[email protected]59261242012-03-19 13:08:59333void PPAPINaClTestDisallowedSockets::SetUpCommandLine(
334 CommandLine* command_line) {
335 PPAPITestBase::SetUpCommandLine(command_line);
[email protected]f237c0f2012-03-10 07:49:10336
[email protected]59261242012-03-19 13:08:59337 FilePath plugin_lib;
338 EXPECT_TRUE(PathService::Get(chrome::FILE_NACL_PLUGIN, &plugin_lib));
339 EXPECT_TRUE(file_util::PathExists(plugin_lib));
[email protected]f237c0f2012-03-10 07:49:10340
[email protected]59261242012-03-19 13:08:59341 // Enable running NaCl outside of the store.
342 command_line->AppendSwitch(switches::kEnableNaCl);
343}
[email protected]cee34b72011-11-18 21:52:40344
[email protected]59261242012-03-19 13:08:59345// Append the correct mode and testcase string
346std::string PPAPINaClTestDisallowedSockets::BuildQuery(
347 const std::string& base,
348 const std::string& test_case) {
349 return StringPrintf("%smode=nacl&testcase=%s", base.c_str(),
350 test_case.c_str());
351}
[email protected]240502342011-12-22 20:07:49352
[email protected]d4067422011-12-07 05:24:24353// This macro finesses macro expansion to do what we want.
354#define STRIP_PREFIXES(test_name) StripPrefixes(#test_name)
[email protected]cee34b72011-11-18 21:52:40355
[email protected]d8eba1a2011-07-20 21:41:55356// Use these macros to run the tests for a specific interface.
357// Most interfaces should be tested with both macros.
358#define TEST_PPAPI_IN_PROCESS(test_name) \
[email protected]f237c0f2012-03-10 07:49:10359 IN_PROC_BROWSER_TEST_F(PPAPITest, test_name) { \
[email protected]d4067422011-12-07 05:24:24360 RunTest(STRIP_PREFIXES(test_name)); \
[email protected]d8eba1a2011-07-20 21:41:55361 }
362#define TEST_PPAPI_OUT_OF_PROCESS(test_name) \
[email protected]f237c0f2012-03-10 07:49:10363 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, test_name) { \
[email protected]d4067422011-12-07 05:24:24364 RunTest(STRIP_PREFIXES(test_name)); \
[email protected]d8eba1a2011-07-20 21:41:55365 }
[email protected]9815108e2011-05-27 21:50:28366
[email protected]d8eba1a2011-07-20 21:41:55367// Similar macros that test over HTTP.
368#define TEST_PPAPI_IN_PROCESS_VIA_HTTP(test_name) \
[email protected]f237c0f2012-03-10 07:49:10369 IN_PROC_BROWSER_TEST_F(PPAPITest, test_name) { \
[email protected]d4067422011-12-07 05:24:24370 RunTestViaHTTP(STRIP_PREFIXES(test_name)); \
[email protected]d8eba1a2011-07-20 21:41:55371 }
372#define TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(test_name) \
[email protected]f237c0f2012-03-10 07:49:10373 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, test_name) { \
[email protected]d4067422011-12-07 05:24:24374 RunTestViaHTTP(STRIP_PREFIXES(test_name)); \
[email protected]d8eba1a2011-07-20 21:41:55375 }
[email protected]97f706c2011-07-11 20:32:53376
[email protected]6c113402012-03-23 01:31:51377// Similar macros that test with an SSL server.
378#define TEST_PPAPI_IN_PROCESS_WITH_SSL_SERVER(test_name) \
379 IN_PROC_BROWSER_TEST_F(PPAPITest, test_name) { \
380 RunTestWithSSLServer(STRIP_PREFIXES(test_name)); \
381 }
382#define TEST_PPAPI_OUT_OF_PROCESS_WITH_SSL_SERVER(test_name) \
383 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, test_name) { \
384 RunTestWithSSLServer(STRIP_PREFIXES(test_name)); \
385 }
386
[email protected]31c1a7e2011-11-26 03:45:30387// Similar macros that test with WebSocket server
388#define TEST_PPAPI_IN_PROCESS_WITH_WS(test_name) \
[email protected]f237c0f2012-03-10 07:49:10389 IN_PROC_BROWSER_TEST_F(PPAPITest, test_name) { \
[email protected]d4067422011-12-07 05:24:24390 RunTestWithWebSocketServer(STRIP_PREFIXES(test_name)); \
[email protected]31c1a7e2011-11-26 03:45:30391 }
392#define TEST_PPAPI_OUT_OF_PROCESS_WITH_WS(test_name) \
[email protected]f237c0f2012-03-10 07:49:10393 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, test_name) { \
[email protected]d4067422011-12-07 05:24:24394 RunTestWithWebSocketServer(STRIP_PREFIXES(test_name)); \
[email protected]31c1a7e2011-11-26 03:45:30395 }
396
397
[email protected]c1af406f2011-11-27 07:05:20398#if defined(DISABLE_NACL)
399#define TEST_PPAPI_NACL_VIA_HTTP(test_name)
[email protected]240502342011-12-22 20:07:49400#define TEST_PPAPI_NACL_VIA_HTTP_DISALLOWED_SOCKETS(test_name)
[email protected]6c113402012-03-23 01:31:51401#define TEST_PPAPI_NACL_WITH_SSL_SERVER(test_name)
[email protected]9082aa5b2012-01-19 08:44:47402#define TEST_PPAPI_NACL_VIA_HTTP_WITH_WS(test_name)
[email protected]c1af406f2011-11-27 07:05:20403#else
[email protected]d8eba1a2011-07-20 21:41:55404
[email protected]cee34b72011-11-18 21:52:40405// NaCl based PPAPI tests
406#define TEST_PPAPI_NACL_VIA_HTTP(test_name) \
[email protected]f237c0f2012-03-10 07:49:10407 IN_PROC_BROWSER_TEST_F(PPAPINaClTest, test_name) { \
[email protected]9082aa5b2012-01-19 08:44:47408 RunTestViaHTTP(STRIP_PREFIXES(test_name)); \
409 }
[email protected]240502342011-12-22 20:07:49410
411// NaCl based PPAPI tests with disallowed socket API
412#define TEST_PPAPI_NACL_VIA_HTTP_DISALLOWED_SOCKETS(test_name) \
[email protected]f237c0f2012-03-10 07:49:10413 IN_PROC_BROWSER_TEST_F(PPAPINaClTestDisallowedSockets, test_name) { \
[email protected]9082aa5b2012-01-19 08:44:47414 RunTestViaHTTP(STRIP_PREFIXES(test_name)); \
415 }
416
[email protected]6c113402012-03-23 01:31:51417// NaCl based PPAPI tests with SSL server
418#define TEST_PPAPI_NACL_WITH_SSL_SERVER(test_name) \
419 IN_PROC_BROWSER_TEST_F(PPAPINaClTest, test_name) { \
420 RunTestWithSSLServer(STRIP_PREFIXES(test_name)); \
421 }
422
[email protected]9082aa5b2012-01-19 08:44:47423// NaCl based PPAPI tests with WebSocket server
424#define TEST_PPAPI_NACL_VIA_HTTP_WITH_WS(test_name) \
[email protected]f237c0f2012-03-10 07:49:10425 IN_PROC_BROWSER_TEST_F(PPAPINaClTest, test_name) { \
[email protected]9082aa5b2012-01-19 08:44:47426 RunTestWithWebSocketServer(STRIP_PREFIXES(test_name)); \
427 }
[email protected]c1af406f2011-11-27 07:05:20428#endif
429
[email protected]cee34b72011-11-18 21:52:40430
[email protected]d8eba1a2011-07-20 21:41:55431//
432// Interface tests.
433//
[email protected]d8eba1a2011-07-20 21:41:55434
[email protected]a9d504a2011-11-22 22:46:47435// Disable tests under ASAN. http://crbug.com/104832.
436// This is a bit heavy handed, but the majority of these tests fail under ASAN.
437// See bug for history.
438#if !defined(ADDRESS_SANITIZER)
439
[email protected]d8eba1a2011-07-20 21:41:55440TEST_PPAPI_IN_PROCESS(Broker)
[email protected]0caf2302012-02-14 21:35:25441// Flaky, http://crbug.com/111355
442TEST_PPAPI_OUT_OF_PROCESS(DISABLED_Broker)
[email protected]d8eba1a2011-07-20 21:41:55443
444TEST_PPAPI_IN_PROCESS(Core)
445TEST_PPAPI_OUT_OF_PROCESS(Core)
446
[email protected]e62768f2011-12-20 17:51:34447// Times out on Linux. http://crbug.com/108180
448#if defined(OS_LINUX)
449#define MAYBE_CursorControl DISABLED_CursorControl
450#else
451#define MAYBE_CursorControl CursorControl
452#endif
453
454TEST_PPAPI_IN_PROCESS(MAYBE_CursorControl)
455TEST_PPAPI_OUT_OF_PROCESS(MAYBE_CursorControl)
456TEST_PPAPI_NACL_VIA_HTTP(MAYBE_CursorControl)
[email protected]9815108e2011-05-27 21:50:28457
[email protected]1f8b15f2011-12-30 12:45:09458// Times out on Linux. http://crbug.com/108859
459#if defined(OS_LINUX)
460#define MAYBE_InputEvent DISABLED_InputEvent
[email protected]50a7f3a2012-01-05 14:30:50461#elif defined(OS_MACOSX)
462// Flaky on Mac. http://crbug.com/109258
[email protected]0caf2302012-02-14 21:35:25463#define MAYBE_InputEvent DISABLED_InputEvent
[email protected]1f8b15f2011-12-30 12:45:09464#else
465#define MAYBE_InputEvent InputEvent
466#endif
467
468TEST_PPAPI_IN_PROCESS(MAYBE_InputEvent)
469TEST_PPAPI_OUT_OF_PROCESS(MAYBE_InputEvent)
[email protected]08610102011-12-17 14:24:30470// TODO(bbudge) Enable when input events are proxied correctly for NaCl.
471TEST_PPAPI_NACL_VIA_HTTP(DISABLED_InputEvent)
[email protected]ed33e2e2011-11-20 21:18:07472
[email protected]13e343c2012-03-16 22:34:22473TEST_PPAPI_IN_PROCESS(Instance_ExecuteScript);
474TEST_PPAPI_OUT_OF_PROCESS(Instance_ExecuteScript)
475// ExecuteScript isn't supported by NaCl.
476
477// We run and reload the RecursiveObjects test to ensure that the InstanceObject
478// (and others) are properly cleaned up after the first run.
479IN_PROC_BROWSER_TEST_F(PPAPITest, Instance_RecursiveObjects) {
480 RunTestAndReload("Instance_RecursiveObjects");
481}
482// TODO(dmichael): Make it work out-of-process (or at least see whether we
483// care).
484IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest,
485 DISABLED_Instance_RecursiveObjects) {
486 RunTestAndReload("Instance_RecursiveObjects");
487}
488TEST_PPAPI_IN_PROCESS(Instance_TestLeakedObjectDestructors);
489TEST_PPAPI_OUT_OF_PROCESS(Instance_TestLeakedObjectDestructors);
490// ScriptableObjects aren't supported in NaCl, so Instance_RecursiveObjects and
491// Instance_TestLeakedObjectDestructors don't make sense for NaCl.
[email protected]4d849c62010-09-02 16:00:12492
[email protected]d8eba1a2011-07-20 21:41:55493TEST_PPAPI_IN_PROCESS(Graphics2D)
[email protected]779a24a42011-09-13 05:41:58494TEST_PPAPI_OUT_OF_PROCESS(Graphics2D)
[email protected]cee34b72011-11-18 21:52:40495TEST_PPAPI_NACL_VIA_HTTP(Graphics2D)
[email protected]1559f512010-05-25 04:21:49496
[email protected]d8eba1a2011-07-20 21:41:55497TEST_PPAPI_IN_PROCESS(ImageData)
[email protected]c4d5960e52011-07-21 21:47:43498TEST_PPAPI_OUT_OF_PROCESS(ImageData)
[email protected]cee34b72011-11-18 21:52:40499TEST_PPAPI_NACL_VIA_HTTP(ImageData)
[email protected]4faecb52010-06-18 23:27:11500
[email protected]7a26d92e2012-02-17 20:15:25501TEST_PPAPI_IN_PROCESS(BrowserFont)
502TEST_PPAPI_OUT_OF_PROCESS(BrowserFont)
503
[email protected]d8eba1a2011-07-20 21:41:55504TEST_PPAPI_IN_PROCESS(Buffer)
505TEST_PPAPI_OUT_OF_PROCESS(Buffer)
[email protected]4faecb52010-06-18 23:27:11506
[email protected]6c113402012-03-23 01:31:51507TEST_PPAPI_OUT_OF_PROCESS_WITH_SSL_SERVER(TCPSocketPrivate)
508TEST_PPAPI_IN_PROCESS_WITH_SSL_SERVER(TCPSocketPrivate)
509TEST_PPAPI_NACL_WITH_SSL_SERVER(TCPSocketPrivate)
[email protected]ef5e98e2011-12-06 09:49:18510
[email protected]e33facb2012-03-27 20:50:54511// Flaky: http://crbug.com/120470
[email protected]b00c5a332012-03-30 21:14:07512TEST_PPAPI_IN_PROCESS_VIA_HTTP(DISABLED_UDPSocketPrivate)
[email protected]e33facb2012-03-27 20:50:54513TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(DISABLED_UDPSocketPrivate)
[email protected]e5edf612012-03-30 14:33:35514TEST_PPAPI_NACL_VIA_HTTP(DISABLED_UDPSocketPrivate)
[email protected]ef5e98e2011-12-06 09:49:18515
[email protected]50da4202012-03-11 11:07:12516TEST_PPAPI_NACL_VIA_HTTP_DISALLOWED_SOCKETS(TCPServerSocketPrivateDisallowed)
[email protected]240502342011-12-22 20:07:49517TEST_PPAPI_NACL_VIA_HTTP_DISALLOWED_SOCKETS(TCPSocketPrivateDisallowed)
518TEST_PPAPI_NACL_VIA_HTTP_DISALLOWED_SOCKETS(UDPSocketPrivateDisallowed)
519
[email protected]20e31122012-02-22 15:56:03520TEST_PPAPI_IN_PROCESS_VIA_HTTP(TCPServerSocketPrivate)
[email protected]2d011e82012-03-15 09:39:56521TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(TCPServerSocketPrivate)
[email protected]f3ae866d2012-03-22 13:08:00522// TODO(ygorshenin): http://crbug.com/116480.
523TEST_PPAPI_NACL_VIA_HTTP(DISABLED_TCPServerSocketPrivate)
[email protected]20e31122012-02-22 15:56:03524
[email protected]f3ae866d2012-03-22 13:08:00525TEST_PPAPI_IN_PROCESS_VIA_HTTP(HostResolverPrivate_Create)
[email protected]24931102012-03-15 01:21:27526TEST_PPAPI_IN_PROCESS_VIA_HTTP(HostResolverPrivate_Resolve)
527TEST_PPAPI_IN_PROCESS_VIA_HTTP(HostResolverPrivate_ResolveIPV4)
[email protected]f3ae866d2012-03-22 13:08:00528TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(HostResolverPrivate_Create)
[email protected]24931102012-03-15 01:21:27529TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(HostResolverPrivate_Resolve)
530TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(HostResolverPrivate_ResolveIPV4)
531
[email protected]f3ae866d2012-03-22 13:08:00532// Undeterministically can't be found on Windows. http://crbug.com/119260
533#if defined(OS_WIN)
534#define MAYBE_HostResolverPrivate_Create \
535 DISABLED_HostResolverPrivate_Create
536#define MAYBE_HostResolverPrivate_Resolve \
537 DISABLED_HostResolverPrivate_Resolve
538#define MAYBE_HostResolverPrivate_ResolveIPV4 \
539 DISABLED_HostResolverPrivate_ResolveIPV4
540#else
541#define MAYBE_HostResolverPrivate_Create \
542 HostResolverPrivate_Create
543#define MAYBE_HostResolverPrivate_Resolve \
544 HostResolverPrivate_Resolve
545#define MAYBE_HostResolverPrivate_ResolveIPV4 \
546 HostResolverPrivate_ResolveIPV4
547#endif
548
549TEST_PPAPI_NACL_VIA_HTTP(MAYBE_HostResolverPrivate_Create)
550TEST_PPAPI_NACL_VIA_HTTP(MAYBE_HostResolverPrivate_Resolve)
551TEST_PPAPI_NACL_VIA_HTTP(MAYBE_HostResolverPrivate_ResolveIPV4)
552
[email protected]d4067422011-12-07 05:24:24553// URLLoader tests.
554TEST_PPAPI_IN_PROCESS_VIA_HTTP(URLLoader_BasicGET)
555TEST_PPAPI_IN_PROCESS_VIA_HTTP(URLLoader_BasicPOST)
556TEST_PPAPI_IN_PROCESS_VIA_HTTP(URLLoader_BasicFilePOST)
557TEST_PPAPI_IN_PROCESS_VIA_HTTP(URLLoader_BasicFileRangePOST)
558TEST_PPAPI_IN_PROCESS_VIA_HTTP(URLLoader_CompoundBodyPOST)
559TEST_PPAPI_IN_PROCESS_VIA_HTTP(URLLoader_EmptyDataPOST)
560TEST_PPAPI_IN_PROCESS_VIA_HTTP(URLLoader_BinaryDataPOST)
561TEST_PPAPI_IN_PROCESS_VIA_HTTP(URLLoader_CustomRequestHeader)
562TEST_PPAPI_IN_PROCESS_VIA_HTTP(URLLoader_FailsBogusContentLength)
563TEST_PPAPI_IN_PROCESS_VIA_HTTP(URLLoader_StreamToFile)
564TEST_PPAPI_IN_PROCESS_VIA_HTTP(URLLoader_UntrustedSameOriginRestriction)
565TEST_PPAPI_IN_PROCESS_VIA_HTTP(URLLoader_TrustedSameOriginRestriction)
566TEST_PPAPI_IN_PROCESS_VIA_HTTP(URLLoader_UntrustedCrossOriginRequest)
567TEST_PPAPI_IN_PROCESS_VIA_HTTP(URLLoader_TrustedCrossOriginRequest)
568TEST_PPAPI_IN_PROCESS_VIA_HTTP(URLLoader_UntrustedJavascriptURLRestriction)
569// TODO(bbudge) Fix Javascript URLs for trusted loaders.
570// http://crbug.com/103062
571TEST_PPAPI_IN_PROCESS_VIA_HTTP(FAILS_URLLoader_TrustedJavascriptURLRestriction)
[email protected]91ebba32011-12-08 01:35:42572TEST_PPAPI_IN_PROCESS_VIA_HTTP(URLLoader_UntrustedHttpRestriction)
573TEST_PPAPI_IN_PROCESS_VIA_HTTP(URLLoader_TrustedHttpRestriction)
[email protected]c95b45792011-12-08 23:54:18574TEST_PPAPI_IN_PROCESS_VIA_HTTP(URLLoader_FollowURLRedirect)
[email protected]d4067422011-12-07 05:24:24575TEST_PPAPI_IN_PROCESS_VIA_HTTP(URLLoader_AuditURLRedirect)
576TEST_PPAPI_IN_PROCESS_VIA_HTTP(URLLoader_AbortCalls)
577TEST_PPAPI_IN_PROCESS_VIA_HTTP(URLLoader_UntendedLoad)
[email protected]94af0572012-01-17 22:10:14578TEST_PPAPI_IN_PROCESS_VIA_HTTP(URLLoader_PrefetchBufferThreshold)
[email protected]d4067422011-12-07 05:24:24579
580TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(URLLoader_BasicGET)
581TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(URLLoader_BasicPOST)
[email protected]5667e122012-01-11 21:27:45582TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(URLLoader_BasicFilePOST)
583TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(URLLoader_BasicFileRangePOST)
[email protected]d4067422011-12-07 05:24:24584TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(URLLoader_CompoundBodyPOST)
585TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(URLLoader_EmptyDataPOST)
586TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(URLLoader_BinaryDataPOST)
587TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(URLLoader_CustomRequestHeader)
588TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(URLLoader_FailsBogusContentLength)
589TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(URLLoader_StreamToFile)
590TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(URLLoader_UntrustedSameOriginRestriction)
591TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(URLLoader_TrustedSameOriginRestriction)
592TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(URLLoader_UntrustedCrossOriginRequest)
593TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(URLLoader_TrustedCrossOriginRequest)
594TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(URLLoader_UntrustedJavascriptURLRestriction)
595// TODO(bbudge) Fix Javascript URLs for trusted loaders.
596// http://crbug.com/103062
597TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(
598 FAILS_URLLoader_TrustedJavascriptURLRestriction)
[email protected]91ebba32011-12-08 01:35:42599TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(URLLoader_UntrustedHttpRestriction)
600TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(URLLoader_TrustedHttpRestriction)
[email protected]c95b45792011-12-08 23:54:18601TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(URLLoader_FollowURLRedirect)
[email protected]d4067422011-12-07 05:24:24602TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(URLLoader_AuditURLRedirect)
603TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(URLLoader_AbortCalls)
604TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(URLLoader_UntendedLoad)
605
606TEST_PPAPI_NACL_VIA_HTTP(URLLoader_BasicGET)
607TEST_PPAPI_NACL_VIA_HTTP(URLLoader_BasicPOST)
608TEST_PPAPI_NACL_VIA_HTTP(URLLoader_BasicFilePOST)
609TEST_PPAPI_NACL_VIA_HTTP(URLLoader_BasicFileRangePOST)
610TEST_PPAPI_NACL_VIA_HTTP(URLLoader_CompoundBodyPOST)
611TEST_PPAPI_NACL_VIA_HTTP(URLLoader_EmptyDataPOST)
612TEST_PPAPI_NACL_VIA_HTTP(URLLoader_BinaryDataPOST)
613TEST_PPAPI_NACL_VIA_HTTP(URLLoader_CustomRequestHeader)
614TEST_PPAPI_NACL_VIA_HTTP(URLLoader_FailsBogusContentLength)
615TEST_PPAPI_NACL_VIA_HTTP(URLLoader_StreamToFile)
[email protected]c95b45792011-12-08 23:54:18616TEST_PPAPI_NACL_VIA_HTTP(URLLoader_UntrustedSameOriginRestriction)
617TEST_PPAPI_NACL_VIA_HTTP(URLLoader_UntrustedCrossOriginRequest)
[email protected]d4067422011-12-07 05:24:24618TEST_PPAPI_NACL_VIA_HTTP(URLLoader_UntrustedJavascriptURLRestriction)
[email protected]91ebba32011-12-08 01:35:42619TEST_PPAPI_NACL_VIA_HTTP(URLLoader_UntrustedHttpRestriction)
[email protected]c95b45792011-12-08 23:54:18620TEST_PPAPI_NACL_VIA_HTTP(URLLoader_FollowURLRedirect)
[email protected]d4067422011-12-07 05:24:24621TEST_PPAPI_NACL_VIA_HTTP(URLLoader_AuditURLRedirect)
622TEST_PPAPI_NACL_VIA_HTTP(URLLoader_AbortCalls)
623TEST_PPAPI_NACL_VIA_HTTP(URLLoader_UntendedLoad)
[email protected]1ff90a82011-11-22 21:51:49624
[email protected]a333c232012-01-27 23:14:27625// URLRequestInfo tests.
626TEST_PPAPI_IN_PROCESS_VIA_HTTP(URLRequest_CreateAndIsURLRequestInfo)
627TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(URLRequest_CreateAndIsURLRequestInfo)
628TEST_PPAPI_NACL_VIA_HTTP(URLRequest_CreateAndIsURLRequestInfo)
629TEST_PPAPI_IN_PROCESS_VIA_HTTP(URLRequest_SetProperty)
630TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(URLRequest_SetProperty)
631TEST_PPAPI_NACL_VIA_HTTP(URLRequest_SetProperty)
632TEST_PPAPI_IN_PROCESS_VIA_HTTP(URLRequest_AppendDataToBody)
633TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(URLRequest_AppendDataToBody)
634TEST_PPAPI_NACL_VIA_HTTP(URLRequest_AppendDataToBody)
635TEST_PPAPI_IN_PROCESS_VIA_HTTP(URLRequest_Stress)
636TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(URLRequest_Stress)
637TEST_PPAPI_NACL_VIA_HTTP(URLRequest_Stress)
638
[email protected]d8eba1a2011-07-20 21:41:55639TEST_PPAPI_IN_PROCESS(PaintAggregator)
[email protected]1ff90a82011-11-22 21:51:49640TEST_PPAPI_OUT_OF_PROCESS(PaintAggregator)
[email protected]cee34b72011-11-18 21:52:40641TEST_PPAPI_NACL_VIA_HTTP(PaintAggregator)
[email protected]2f0e64e2010-07-08 22:10:22642
[email protected]15fc79cc2012-02-22 23:27:52643// TODO(danakj): http://crbug.com/115286
[email protected]a69e82142012-02-22 16:47:28644TEST_PPAPI_IN_PROCESS(DISABLED_Scrollbar)
[email protected]c4d5960e52011-07-21 21:47:43645// http://crbug.com/89961
[email protected]f237c0f2012-03-10 07:49:10646IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, FAILS_Scrollbar) {
[email protected]c4d5960e52011-07-21 21:47:43647 RunTest("Scrollbar");
648}
[email protected]15fc79cc2012-02-22 23:27:52649// TODO(danakj): http://crbug.com/115286
650TEST_PPAPI_NACL_VIA_HTTP(DISABLED_Scrollbar)
[email protected]39ef4342010-08-05 22:56:03651
[email protected]d8eba1a2011-07-20 21:41:55652TEST_PPAPI_IN_PROCESS(URLUtil)
[email protected]c4d5960e52011-07-21 21:47:43653TEST_PPAPI_OUT_OF_PROCESS(URLUtil)
[email protected]e1333fb2010-08-22 04:54:00654
[email protected]d8eba1a2011-07-20 21:41:55655TEST_PPAPI_IN_PROCESS(CharSet)
[email protected]c4d5960e52011-07-21 21:47:43656TEST_PPAPI_OUT_OF_PROCESS(CharSet)
[email protected]167b0dd12010-09-30 20:00:40657
[email protected]947bcaf2011-11-22 21:56:04658TEST_PPAPI_IN_PROCESS(Crypto)
[email protected]8e66338e2011-11-22 21:57:17659TEST_PPAPI_OUT_OF_PROCESS(Crypto)
[email protected]8d770e492011-10-11 04:54:31660
[email protected]d8eba1a2011-07-20 21:41:55661TEST_PPAPI_IN_PROCESS(Var)
[email protected]608fcb92011-12-02 20:44:59662TEST_PPAPI_OUT_OF_PROCESS(Var)
[email protected]cee34b72011-11-18 21:52:40663TEST_PPAPI_NACL_VIA_HTTP(Var)
[email protected]0925622c2011-06-08 20:22:02664
[email protected]d560c6f52012-03-30 15:08:57665// Flaky on mac, http://crbug.com/121107
666#if defined(OS_MACOSX)
667#define MAYBE_VarDeprecated DISABLED_VarDeprecated
668#else
669#define MAYBE_VarDeprecated VarDeprecated
670#endif
671
[email protected]d8eba1a2011-07-20 21:41:55672TEST_PPAPI_IN_PROCESS(VarDeprecated)
[email protected]d560c6f52012-03-30 15:08:57673TEST_PPAPI_OUT_OF_PROCESS(MAYBE_VarDeprecated)
[email protected]3ed09692010-11-13 00:28:17674
[email protected]b20df1c2011-08-03 14:38:24675// Windows defines 'PostMessage', so we have to undef it.
676#ifdef PostMessage
677#undef PostMessage
678#endif
[email protected]2622d6b2011-11-16 04:28:02679TEST_PPAPI_IN_PROCESS(PostMessage_SendInInit)
680TEST_PPAPI_IN_PROCESS(PostMessage_SendingData)
[email protected]15fc79cc2012-02-22 23:27:52681// TODO(danakj): http://crbug.com/115286
682TEST_PPAPI_IN_PROCESS(DISABLED_PostMessage_SendingArrayBuffer)
[email protected]2622d6b2011-11-16 04:28:02683TEST_PPAPI_IN_PROCESS(PostMessage_MessageEvent)
684TEST_PPAPI_IN_PROCESS(PostMessage_NoHandler)
685TEST_PPAPI_IN_PROCESS(PostMessage_ExtraParam)
686TEST_PPAPI_OUT_OF_PROCESS(PostMessage_SendInInit)
687TEST_PPAPI_OUT_OF_PROCESS(PostMessage_SendingData)
[email protected]10305deb2012-02-16 19:39:22688TEST_PPAPI_OUT_OF_PROCESS(PostMessage_SendingArrayBuffer)
[email protected]2622d6b2011-11-16 04:28:02689TEST_PPAPI_OUT_OF_PROCESS(PostMessage_MessageEvent)
690TEST_PPAPI_OUT_OF_PROCESS(PostMessage_NoHandler)
691TEST_PPAPI_OUT_OF_PROCESS(PostMessage_ExtraParam)
[email protected]d6783d5ac2012-03-29 23:27:57692#if !defined(OS_WIN) && !(defined(OS_LINUX) && defined(ARCH_CPU_64_BITS))
693// Times out on Windows XP, Windows 7, and Linux x64: http://crbug.com/95557
[email protected]2622d6b2011-11-16 04:28:02694TEST_PPAPI_OUT_OF_PROCESS(PostMessage_NonMainThread)
[email protected]924071b2012-02-10 01:54:07695#endif
[email protected]08610102011-12-17 14:24:30696TEST_PPAPI_NACL_VIA_HTTP(PostMessage_SendInInit)
697TEST_PPAPI_NACL_VIA_HTTP(PostMessage_SendingData)
[email protected]2048666c2012-03-11 05:38:34698TEST_PPAPI_NACL_VIA_HTTP(SLOW_PostMessage_SendingArrayBuffer)
[email protected]08610102011-12-17 14:24:30699TEST_PPAPI_NACL_VIA_HTTP(PostMessage_MessageEvent)
700TEST_PPAPI_NACL_VIA_HTTP(PostMessage_NoHandler)
[email protected]396e3fd2012-02-09 18:46:10701
[email protected]976976e12012-01-24 20:08:08702#if defined(OS_WIN)
703// Flaky: http://crbug.com/111209
704//
705// Note from sheriffs miket and syzm: we're not convinced that this test is
706// directly to blame for the flakiness. It's possible that it's a more general
707// problem that is exposing itself only with one of the later tests in this
708// series.
[email protected]0caf2302012-02-14 21:35:25709TEST_PPAPI_NACL_VIA_HTTP(DISABLED_PostMessage_ExtraParam)
[email protected]976976e12012-01-24 20:08:08710#else
[email protected]08610102011-12-17 14:24:30711TEST_PPAPI_NACL_VIA_HTTP(PostMessage_ExtraParam)
[email protected]976976e12012-01-24 20:08:08712#endif
[email protected]f1ced922011-03-26 20:56:35713
[email protected]d8eba1a2011-07-20 21:41:55714TEST_PPAPI_IN_PROCESS(Memory)
715TEST_PPAPI_OUT_OF_PROCESS(Memory)
[email protected]cee34b72011-11-18 21:52:40716TEST_PPAPI_NACL_VIA_HTTP(Memory)
[email protected]14710e222011-07-05 21:37:00717
[email protected]7ace8ad2011-08-06 03:23:58718TEST_PPAPI_IN_PROCESS(VideoDecoder)
719TEST_PPAPI_OUT_OF_PROCESS(VideoDecoder)
720
[email protected]d4067422011-12-07 05:24:24721// Touch and SetLength fail on Mac and Linux due to sandbox restrictions.
722// http://crbug.com/101128
723#if defined(OS_MACOSX) || defined(OS_LINUX)
724#define MAYBE_FileIO_ReadWriteSetLength DISABLED_FileIO_ReadWriteSetLength
725#define MAYBE_FileIO_TouchQuery DISABLED_FileIO_TouchQuery
726#define MAYBE_FileIO_WillWriteWillSetLength \
727 DISABLED_FileIO_WillWriteWillSetLength
728#else
729#define MAYBE_FileIO_ReadWriteSetLength FileIO_ReadWriteSetLength
730#define MAYBE_FileIO_TouchQuery FileIO_TouchQuery
731#define MAYBE_FileIO_WillWriteWillSetLength FileIO_WillWriteWillSetLength
732#endif
[email protected]cee34b72011-11-18 21:52:40733
[email protected]d4067422011-12-07 05:24:24734TEST_PPAPI_IN_PROCESS_VIA_HTTP(FileIO_Open)
735TEST_PPAPI_IN_PROCESS_VIA_HTTP(FileIO_AbortCalls)
736TEST_PPAPI_IN_PROCESS_VIA_HTTP(FileIO_ParallelReads)
737TEST_PPAPI_IN_PROCESS_VIA_HTTP(FileIO_ParallelWrites)
738TEST_PPAPI_IN_PROCESS_VIA_HTTP(FileIO_NotAllowMixedReadWrite)
739TEST_PPAPI_IN_PROCESS_VIA_HTTP(MAYBE_FileIO_ReadWriteSetLength)
740TEST_PPAPI_IN_PROCESS_VIA_HTTP(MAYBE_FileIO_TouchQuery)
741TEST_PPAPI_IN_PROCESS_VIA_HTTP(MAYBE_FileIO_WillWriteWillSetLength)
742
[email protected]694878de2011-12-21 20:22:14743TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(FileIO_Open)
744TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(FileIO_AbortCalls)
745TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(FileIO_ParallelReads)
746TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(FileIO_ParallelWrites)
747TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(FileIO_NotAllowMixedReadWrite)
748TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(MAYBE_FileIO_ReadWriteSetLength)
749TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(MAYBE_FileIO_TouchQuery)
750TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(MAYBE_FileIO_WillWriteWillSetLength)
[email protected]d4067422011-12-07 05:24:24751
[email protected]71e270e2012-03-30 14:52:49752// PPAPINaclTest.FileIO_ParallelReads is flaky on Mac. http://crbug.com/121104
753#if defined(OS_MACOSX)
754#define MAYBE_FileIO_ParallelReads DISABLED_FileIO_ParallelReads
755#else
756#define MAYBE_FileIO_ParallelReads FileIO_ParallelReads
757#endif
758
[email protected]d4067422011-12-07 05:24:24759TEST_PPAPI_NACL_VIA_HTTP(FileIO_Open)
760TEST_PPAPI_NACL_VIA_HTTP(FileIO_AbortCalls)
[email protected]71e270e2012-03-30 14:52:49761TEST_PPAPI_NACL_VIA_HTTP(MAYBE_FileIO_ParallelReads)
[email protected]d4067422011-12-07 05:24:24762TEST_PPAPI_NACL_VIA_HTTP(FileIO_ParallelWrites)
763TEST_PPAPI_NACL_VIA_HTTP(FileIO_NotAllowMixedReadWrite)
764TEST_PPAPI_NACL_VIA_HTTP(MAYBE_FileIO_TouchQuery)
765TEST_PPAPI_NACL_VIA_HTTP(MAYBE_FileIO_ReadWriteSetLength)
766// The following test requires PPB_FileIO_Trusted, not available in NaCl.
767TEST_PPAPI_NACL_VIA_HTTP(DISABLED_FileIO_WillWriteWillSetLength)
[email protected]3ed09692010-11-13 00:28:17768
[email protected]d8eba1a2011-07-20 21:41:55769TEST_PPAPI_IN_PROCESS_VIA_HTTP(FileRef)
[email protected]cc6db922011-12-10 16:54:22770TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(FileRef)
[email protected]cee34b72011-11-18 21:52:40771TEST_PPAPI_NACL_VIA_HTTP(FileRef)
772
[email protected]c4d5960e52011-07-21 21:47:43773TEST_PPAPI_IN_PROCESS_VIA_HTTP(FileSystem)
[email protected]0fe6c2422011-09-07 20:20:41774TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(FileSystem)
[email protected]cee34b72011-11-18 21:52:40775TEST_PPAPI_NACL_VIA_HTTP(FileSystem)
[email protected]3ed09692010-11-13 00:28:17776
[email protected]61d2eea2012-01-12 03:08:53777// Mac/Aura reach NOTIMPLEMENTED/time out.
778// Other systems work in-process, but flake out-of-process because of the
779// asyncronous nature of the proxy.
780// mac: http://crbug.com/96767
781// aura: http://crbug.com/104384
782// async flakiness: http://crbug.com/108471
783#if defined(OS_MACOSX) || defined(USE_AURA)
[email protected]81a33d92011-12-20 01:13:03784#define MAYBE_FlashFullscreen DISABLED_FlashFullscreen
[email protected]61d2eea2012-01-12 03:08:53785#define MAYBE_OutOfProcessFlashFullscreen DISABLED_FlashFullscreen
[email protected]155be092011-11-16 04:34:59786#else
[email protected]61d2eea2012-01-12 03:08:53787#define MAYBE_FlashFullscreen FlashFullscreen
[email protected]b6a9ecc2012-01-30 23:17:40788#define MAYBE_OutOfProcessFlashFullscreen FlashFullscreen
[email protected]155be092011-11-16 04:34:59789#endif
790
[email protected]f237c0f2012-03-10 07:49:10791IN_PROC_BROWSER_TEST_F(PPAPITest, MAYBE_FlashFullscreen) {
[email protected]06e0a342011-09-27 04:24:30792 RunTestViaHTTP("FlashFullscreen");
793}
[email protected]f237c0f2012-03-10 07:49:10794IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, MAYBE_OutOfProcessFlashFullscreen) {
[email protected]06e0a342011-09-27 04:24:30795 RunTestViaHTTP("FlashFullscreen");
796}
[email protected]400d9e92011-12-08 22:54:26797
[email protected]3b98ced72012-03-09 02:08:33798TEST_PPAPI_IN_PROCESS_VIA_HTTP(Fullscreen)
[email protected]5d50f862012-03-14 05:23:37799TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(Fullscreen)
[email protected]6d54e2ed2011-09-15 23:02:04800
[email protected]3c149c62011-11-11 23:22:52801TEST_PPAPI_IN_PROCESS(FlashClipboard)
802TEST_PPAPI_OUT_OF_PROCESS(FlashClipboard)
[email protected]fe833c92011-10-22 16:13:22803
[email protected]de2895262012-04-04 17:15:48804TEST_PPAPI_IN_PROCESS(X509CertificatePrivate)
805TEST_PPAPI_OUT_OF_PROCESS(X509CertificatePrivate)
806
[email protected]0caf2302012-02-14 21:35:25807// http://crbug.com/63239
[email protected]35f05982011-06-09 20:38:01808#if defined(OS_POSIX)
[email protected]0caf2302012-02-14 21:35:25809#define MAYBE_DirectoryReader DISABLED_DirectoryReader
[email protected]09283b72011-06-01 16:04:29810#else
811#define MAYBE_DirectoryReader DirectoryReader
812#endif
813
[email protected]35f05982011-06-09 20:38:01814// Flaky on Mac + Linux, maybe http://codereview.chromium.org/7094008
[email protected]a367e282011-12-02 19:13:25815// Not implemented out of process: http://crbug.com/106129
[email protected]f237c0f2012-03-10 07:49:10816IN_PROC_BROWSER_TEST_F(PPAPITest, MAYBE_DirectoryReader) {
[email protected]3ed09692010-11-13 00:28:17817 RunTestViaHTTP("DirectoryReader");
818}
[email protected]9b4cb192011-02-16 00:17:22819
[email protected]c462d122011-05-25 01:54:04820#if defined(ENABLE_P2P_APIS)
[email protected]ff8de9962011-08-31 23:23:57821// Flaky. http://crbug.com/84294
[email protected]f237c0f2012-03-10 07:49:10822IN_PROC_BROWSER_TEST_F(PPAPITest, DISABLED_Transport) {
[email protected]9b4cb192011-02-16 00:17:22823 RunTest("Transport");
824}
[email protected]c4d5960e52011-07-21 21:47:43825// http://crbug.com/89961
[email protected]f237c0f2012-03-10 07:49:10826IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, DISABLED_Transport) {
[email protected]c4d5960e52011-07-21 21:47:43827 RunTestViaHTTP("Transport");
828}
[email protected]c462d122011-05-25 01:54:04829#endif // ENABLE_P2P_APIS
[email protected]31050482011-07-22 17:03:19830
[email protected]02ab09c32011-11-29 18:59:44831// There is no proxy. This is used for PDF metrics reporting, and PDF only
832// runs in process, so there's currently no need for a proxy.
[email protected]31050482011-07-22 17:03:19833TEST_PPAPI_IN_PROCESS(UMA)
[email protected]87f36372011-11-11 20:49:01834
[email protected]ba359352011-11-22 00:24:13835TEST_PPAPI_IN_PROCESS(NetAddressPrivate_AreEqual)
836TEST_PPAPI_IN_PROCESS(NetAddressPrivate_AreHostsEqual)
837TEST_PPAPI_IN_PROCESS(NetAddressPrivate_Describe)
838TEST_PPAPI_IN_PROCESS(NetAddressPrivate_ReplacePort)
839TEST_PPAPI_IN_PROCESS(NetAddressPrivate_GetAnyAddress)
840TEST_PPAPI_IN_PROCESS(NetAddressPrivate_DescribeIPv6)
[email protected]ee9bdfce2012-02-09 00:04:09841TEST_PPAPI_IN_PROCESS(NetAddressPrivate_GetFamily)
842TEST_PPAPI_IN_PROCESS(NetAddressPrivate_GetPort)
843TEST_PPAPI_IN_PROCESS(NetAddressPrivate_GetAddress)
[email protected]b13deef82012-03-22 22:41:06844TEST_PPAPI_IN_PROCESS(NetAddressPrivate_GetScopeID)
[email protected]ba359352011-11-22 00:24:13845TEST_PPAPI_OUT_OF_PROCESS(NetAddressPrivate_AreEqual)
846TEST_PPAPI_OUT_OF_PROCESS(NetAddressPrivate_AreHostsEqual)
847TEST_PPAPI_OUT_OF_PROCESS(NetAddressPrivate_Describe)
848TEST_PPAPI_OUT_OF_PROCESS(NetAddressPrivate_ReplacePort)
849TEST_PPAPI_OUT_OF_PROCESS(NetAddressPrivate_GetAnyAddress)
850TEST_PPAPI_OUT_OF_PROCESS(NetAddressPrivate_DescribeIPv6)
[email protected]ee9bdfce2012-02-09 00:04:09851TEST_PPAPI_OUT_OF_PROCESS(NetAddressPrivate_GetFamily)
852TEST_PPAPI_OUT_OF_PROCESS(NetAddressPrivate_GetPort)
853TEST_PPAPI_OUT_OF_PROCESS(NetAddressPrivate_GetAddress)
[email protected]b13deef82012-03-22 22:41:06854TEST_PPAPI_OUT_OF_PROCESS(NetAddressPrivate_GetScopeID)
[email protected]cfff9eb82011-11-15 03:17:10855
[email protected]f3ae866d2012-03-22 13:08:00856// Frequently timing out on Windows. http://crbug.com/115440
857#if defined(OS_WIN)
858#define MAYBE_NetAddressPrivateUntrusted_Describe \
859 DISABLED_NetAddressPrivateUntrusted_Describe
860#define MAYBE_NetAddressPrivateUntrusted_ReplacePort \
861 DISABLED_NetAddressPrivateUntrusted_ReplacePort
862#define MAYBE_NetAddressPrivateUntrusted_GetPort \
863 DISABLED_NetAddressPrivateUntrusted_GetPort
864#else
865#define MAYBE_NetAddressPrivateUntrusted_Describe \
866 NetAddressPrivateUntrusted_Describe
867#define MAYBE_NetAddressPrivateUntrusted_ReplacePort \
868 NetAddressPrivateUntrusted_ReplacePort
869#define MAYBE_NetAddressPrivateUntrusted_GetPort \
870 NetAddressPrivateUntrusted_GetPort
871#endif
872
[email protected]9e855c0a2012-01-18 13:36:55873TEST_PPAPI_NACL_VIA_HTTP(NetAddressPrivateUntrusted_AreEqual)
874TEST_PPAPI_NACL_VIA_HTTP(NetAddressPrivateUntrusted_AreHostsEqual)
[email protected]f3ae866d2012-03-22 13:08:00875TEST_PPAPI_NACL_VIA_HTTP(MAYBE_NetAddressPrivateUntrusted_Describe)
876TEST_PPAPI_NACL_VIA_HTTP(MAYBE_NetAddressPrivateUntrusted_ReplacePort)
[email protected]9e855c0a2012-01-18 13:36:55877TEST_PPAPI_NACL_VIA_HTTP(NetAddressPrivateUntrusted_GetAnyAddress)
[email protected]ee9bdfce2012-02-09 00:04:09878TEST_PPAPI_NACL_VIA_HTTP(NetAddressPrivateUntrusted_GetFamily)
[email protected]f3ae866d2012-03-22 13:08:00879TEST_PPAPI_NACL_VIA_HTTP(MAYBE_NetAddressPrivateUntrusted_GetPort)
[email protected]ee9bdfce2012-02-09 00:04:09880TEST_PPAPI_NACL_VIA_HTTP(NetAddressPrivateUntrusted_GetAddress)
[email protected]d2cbdbbdb2012-03-26 19:52:09881TEST_PPAPI_NACL_VIA_HTTP(NetAddressPrivateUntrusted_GetScopeID)
[email protected]9e855c0a2012-01-18 13:36:55882
[email protected]2e80d05482012-03-13 00:10:41883TEST_PPAPI_IN_PROCESS(NetworkMonitorPrivate_Basic)
[email protected]5b9b80e2012-03-20 20:19:39884TEST_PPAPI_OUT_OF_PROCESS(NetworkMonitorPrivate_Basic)
[email protected]2e80d05482012-03-13 00:10:41885TEST_PPAPI_IN_PROCESS(NetworkMonitorPrivate_2Monitors)
[email protected]5b9b80e2012-03-20 20:19:39886TEST_PPAPI_OUT_OF_PROCESS(NetworkMonitorPrivate_2Monitors)
887TEST_PPAPI_IN_PROCESS(NetworkMonitorPrivate_DeleteInCallback)
888TEST_PPAPI_OUT_OF_PROCESS(NetworkMonitorPrivate_DeleteInCallback)
[email protected]39832802012-03-21 18:55:08889TEST_PPAPI_IN_PROCESS(NetworkMonitorPrivate_ListObserver)
890TEST_PPAPI_OUT_OF_PROCESS(NetworkMonitorPrivate_ListObserver)
[email protected]2e80d05482012-03-13 00:10:41891
[email protected]d67f5ae2011-11-17 22:41:52892TEST_PPAPI_IN_PROCESS(Flash_SetInstanceAlwaysOnTop)
893TEST_PPAPI_IN_PROCESS(Flash_GetProxyForURL)
894TEST_PPAPI_IN_PROCESS(Flash_MessageLoop)
895TEST_PPAPI_IN_PROCESS(Flash_GetLocalTimeZoneOffset)
896TEST_PPAPI_IN_PROCESS(Flash_GetCommandLineArgs)
897TEST_PPAPI_OUT_OF_PROCESS(Flash_SetInstanceAlwaysOnTop)
898TEST_PPAPI_OUT_OF_PROCESS(Flash_GetProxyForURL)
899TEST_PPAPI_OUT_OF_PROCESS(Flash_MessageLoop)
900TEST_PPAPI_OUT_OF_PROCESS(Flash_GetLocalTimeZoneOffset)
901TEST_PPAPI_OUT_OF_PROCESS(Flash_GetCommandLineArgs)
[email protected]081d147b2011-11-18 05:51:54902
[email protected]081d147b2011-11-18 05:51:54903TEST_PPAPI_IN_PROCESS(WebSocket_IsWebSocket)
[email protected]a1cff782011-12-06 18:06:34904TEST_PPAPI_IN_PROCESS(WebSocket_UninitializedPropertiesAccess)
[email protected]65f6b002011-12-01 07:44:11905TEST_PPAPI_IN_PROCESS(WebSocket_InvalidConnect)
[email protected]32b05b12011-12-09 04:26:28906TEST_PPAPI_IN_PROCESS(WebSocket_Protocols)
[email protected]65f6b002011-12-01 07:44:11907TEST_PPAPI_IN_PROCESS(WebSocket_GetURL)
[email protected]2e4b7ab2012-01-25 13:28:07908TEST_PPAPI_IN_PROCESS_WITH_WS(WebSocket_ValidConnect)
909TEST_PPAPI_IN_PROCESS_WITH_WS(WebSocket_InvalidClose)
910TEST_PPAPI_IN_PROCESS_WITH_WS(WebSocket_ValidClose)
911TEST_PPAPI_IN_PROCESS_WITH_WS(WebSocket_GetProtocol)
912TEST_PPAPI_IN_PROCESS_WITH_WS(WebSocket_TextSendReceive)
913TEST_PPAPI_IN_PROCESS_WITH_WS(WebSocket_BinarySendReceive)
[email protected]3f915fae2012-03-26 11:13:29914TEST_PPAPI_IN_PROCESS_WITH_WS(WebSocket_StressedSendReceive)
[email protected]2e4b7ab2012-01-25 13:28:07915TEST_PPAPI_IN_PROCESS_WITH_WS(WebSocket_BufferedAmount)
[email protected]3f915fae2012-03-26 11:13:29916TEST_PPAPI_IN_PROCESS_WITH_WS(WebSocket_CcInterfaces)
[email protected]2785cb92012-02-29 20:22:09917TEST_PPAPI_IN_PROCESS(WebSocket_UtilityInvalidConnect)
918TEST_PPAPI_IN_PROCESS(WebSocket_UtilityProtocols)
919TEST_PPAPI_IN_PROCESS(WebSocket_UtilityGetURL)
920TEST_PPAPI_IN_PROCESS_WITH_WS(WebSocket_UtilityValidConnect)
921TEST_PPAPI_IN_PROCESS_WITH_WS(WebSocket_UtilityInvalidClose)
922TEST_PPAPI_IN_PROCESS_WITH_WS(WebSocket_UtilityValidClose)
923TEST_PPAPI_IN_PROCESS_WITH_WS(WebSocket_UtilityGetProtocol)
924TEST_PPAPI_IN_PROCESS_WITH_WS(WebSocket_UtilityTextSendReceive)
925TEST_PPAPI_IN_PROCESS_WITH_WS(WebSocket_UtilityBinarySendReceive)
926TEST_PPAPI_IN_PROCESS_WITH_WS(WebSocket_UtilityBufferedAmount)
[email protected]9082aa5b2012-01-19 08:44:47927TEST_PPAPI_NACL_VIA_HTTP(WebSocket_IsWebSocket)
928TEST_PPAPI_NACL_VIA_HTTP(WebSocket_UninitializedPropertiesAccess)
929TEST_PPAPI_NACL_VIA_HTTP(WebSocket_InvalidConnect)
930TEST_PPAPI_NACL_VIA_HTTP(WebSocket_Protocols)
931TEST_PPAPI_NACL_VIA_HTTP(WebSocket_GetURL)
[email protected]2e4b7ab2012-01-25 13:28:07932TEST_PPAPI_NACL_VIA_HTTP_WITH_WS(WebSocket_ValidConnect)
933TEST_PPAPI_NACL_VIA_HTTP_WITH_WS(WebSocket_InvalidClose)
934TEST_PPAPI_NACL_VIA_HTTP_WITH_WS(WebSocket_ValidClose)
935TEST_PPAPI_NACL_VIA_HTTP_WITH_WS(WebSocket_GetProtocol)
936TEST_PPAPI_NACL_VIA_HTTP_WITH_WS(WebSocket_TextSendReceive)
937TEST_PPAPI_NACL_VIA_HTTP_WITH_WS(WebSocket_BinarySendReceive)
[email protected]3f915fae2012-03-26 11:13:29938TEST_PPAPI_NACL_VIA_HTTP_WITH_WS(WebSocket_StressedSendReceive)
[email protected]2e4b7ab2012-01-25 13:28:07939TEST_PPAPI_NACL_VIA_HTTP_WITH_WS(WebSocket_BufferedAmount)
[email protected]3f915fae2012-03-26 11:13:29940TEST_PPAPI_NACL_VIA_HTTP_WITH_WS(WebSocket_CcInterfaces)
[email protected]2785cb92012-02-29 20:22:09941TEST_PPAPI_NACL_VIA_HTTP(WebSocket_UtilityInvalidConnect)
942TEST_PPAPI_NACL_VIA_HTTP(WebSocket_UtilityProtocols)
943TEST_PPAPI_NACL_VIA_HTTP(WebSocket_UtilityGetURL)
944TEST_PPAPI_NACL_VIA_HTTP_WITH_WS(WebSocket_UtilityValidConnect)
945TEST_PPAPI_NACL_VIA_HTTP_WITH_WS(WebSocket_UtilityInvalidClose)
946TEST_PPAPI_NACL_VIA_HTTP_WITH_WS(WebSocket_UtilityValidClose)
947TEST_PPAPI_NACL_VIA_HTTP_WITH_WS(WebSocket_UtilityGetProtocol)
948TEST_PPAPI_NACL_VIA_HTTP_WITH_WS(WebSocket_UtilityTextSendReceive)
949TEST_PPAPI_NACL_VIA_HTTP_WITH_WS(WebSocket_UtilityBinarySendReceive)
950TEST_PPAPI_NACL_VIA_HTTP_WITH_WS(WebSocket_UtilityBufferedAmount)
[email protected]a9d504a2011-11-22 22:46:47951
[email protected]c3d06212011-12-01 00:40:52952TEST_PPAPI_IN_PROCESS(AudioConfig_ValidConfigs)
953TEST_PPAPI_IN_PROCESS(AudioConfig_InvalidConfigs)
954TEST_PPAPI_OUT_OF_PROCESS(AudioConfig_ValidConfigs)
955TEST_PPAPI_OUT_OF_PROCESS(AudioConfig_InvalidConfigs)
[email protected]65bc60362011-11-30 06:20:37956
[email protected]94d1a7b12012-03-13 10:04:54957// PPAPITest.Audio_Creation fails on Linux & Mac try servers.
958// http://crbug.com/114712
959#if defined(OS_LINUX) || defined(OS_MACOSX)
[email protected]371a7b812012-02-17 02:35:20960#define MAYBE_Audio_Creation DISABLED_Audio_Creation
961#else
962#define MAYBE_Audio_Creation Audio_Creation
963#endif
964
965TEST_PPAPI_IN_PROCESS(MAYBE_Audio_Creation)
[email protected]c6b2b7f2011-12-01 02:38:25966TEST_PPAPI_IN_PROCESS(Audio_DestroyNoStop)
967TEST_PPAPI_IN_PROCESS(Audio_Failures)
[email protected]530a3f02012-02-23 09:07:09968TEST_PPAPI_OUT_OF_PROCESS(MAYBE_Audio_Creation)
[email protected]c6b2b7f2011-12-01 02:38:25969TEST_PPAPI_OUT_OF_PROCESS(Audio_DestroyNoStop)
970TEST_PPAPI_OUT_OF_PROCESS(Audio_Failures)
971
[email protected]09c37ba2012-01-05 18:00:33972TEST_PPAPI_IN_PROCESS(View_CreateVisible);
973TEST_PPAPI_OUT_OF_PROCESS(View_CreateVisible);
974TEST_PPAPI_NACL_VIA_HTTP(View_CreateVisible);
975// This test ensures that plugins created in a background tab have their
976// initial visibility set to false. We don't bother testing in-process for this
977// custom test since the out of process code also exercises in-process.
[email protected]f237c0f2012-03-10 07:49:10978
979IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, View_CreateInvisible) {
[email protected]09c37ba2012-01-05 18:00:33980 // Make a second tab in the foreground.
[email protected]09c37ba2012-01-05 18:00:33981 GURL url = GetTestFileUrl("View_CreatedInvisible");
[email protected]f237c0f2012-03-10 07:49:10982 browser::NavigateParams params(browser(), url, content::PAGE_TRANSITION_LINK);
983 params.disposition = NEW_BACKGROUND_TAB;
984 ui_test_utils::NavigateToURL(&params);
[email protected]09c37ba2012-01-05 18:00:33985}
[email protected]63179902012-03-09 23:47:28986
[email protected]f237c0f2012-03-10 07:49:10987// This test messes with tab visibility so is custom.
988IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, View_PageHideShow) {
989 // The plugin will be loaded in the foreground tab and will send us a message.
990 TestFinishObserver observer(
991 browser()->GetSelectedWebContents()->GetRenderViewHost(),
[email protected]81ffaa8232012-03-10 04:49:24992 TestTimeouts::action_max_timeout_ms());
[email protected]f237c0f2012-03-10 07:49:10993
994 GURL url = GetTestFileUrl("View_PageHideShow");
995 ui_test_utils::NavigateToURL(browser(), url);
996
997 ASSERT_TRUE(observer.WaitForFinish()) << "Test timed out.";
998 EXPECT_STREQ("TestPageHideShow:Created", observer.result().c_str());
999 observer.Reset();
[email protected]09c37ba2012-01-05 18:00:331000
1001 // Make a new tab to cause the original one to hide, this should trigger the
1002 // next phase of the test.
[email protected]f237c0f2012-03-10 07:49:101003 browser::NavigateParams params(
1004 browser(), GURL(chrome::kAboutBlankURL), content::PAGE_TRANSITION_LINK);
1005 params.disposition = NEW_FOREGROUND_TAB;
1006 ui_test_utils::NavigateToURL(&params);
[email protected]09c37ba2012-01-05 18:00:331007
1008 // Wait until the test acks that it got hidden.
[email protected]f237c0f2012-03-10 07:49:101009 ASSERT_TRUE(observer.WaitForFinish()) << "Test timed out.";
1010 EXPECT_STREQ("TestPageHideShow:Hidden", observer.result().c_str());
[email protected]63179902012-03-09 23:47:281011
[email protected]81ffaa8232012-03-10 04:49:241012 // Wait for the test completion event.
[email protected]f237c0f2012-03-10 07:49:101013 observer.Reset();
1014
1015 // Switch back to the test tab.
1016 browser()->ActivateTabAt(0, true);
1017
1018 ASSERT_TRUE(observer.WaitForFinish()) << "Test timed out.";
1019 EXPECT_STREQ("PASS", observer.result().c_str());
[email protected]09c37ba2012-01-05 18:00:331020}
[email protected]f237c0f2012-03-10 07:49:101021
[email protected]09c37ba2012-01-05 18:00:331022TEST_PPAPI_IN_PROCESS(View_SizeChange);
1023TEST_PPAPI_OUT_OF_PROCESS(View_SizeChange);
1024TEST_PPAPI_NACL_VIA_HTTP(View_SizeChange);
1025TEST_PPAPI_IN_PROCESS(View_ClipChange);
1026TEST_PPAPI_OUT_OF_PROCESS(View_ClipChange);
1027TEST_PPAPI_NACL_VIA_HTTP(View_ClipChange);
1028
[email protected]6117b82da2012-01-07 00:51:011029TEST_PPAPI_IN_PROCESS(ResourceArray_Basics)
1030TEST_PPAPI_IN_PROCESS(ResourceArray_OutOfRangeAccess)
1031TEST_PPAPI_IN_PROCESS(ResourceArray_EmptyArray)
1032TEST_PPAPI_IN_PROCESS(ResourceArray_InvalidElement)
1033TEST_PPAPI_OUT_OF_PROCESS(ResourceArray_Basics)
1034TEST_PPAPI_OUT_OF_PROCESS(ResourceArray_OutOfRangeAccess)
1035TEST_PPAPI_OUT_OF_PROCESS(ResourceArray_EmptyArray)
1036TEST_PPAPI_OUT_OF_PROCESS(ResourceArray_InvalidElement)
1037
[email protected]cd2af392012-01-31 09:19:171038TEST_PPAPI_IN_PROCESS(FlashMessageLoop_Basics)
1039TEST_PPAPI_IN_PROCESS(FlashMessageLoop_RunWithoutQuit)
1040TEST_PPAPI_OUT_OF_PROCESS(FlashMessageLoop_Basics)
1041TEST_PPAPI_OUT_OF_PROCESS(FlashMessageLoop_RunWithoutQuit)
1042
[email protected]a9d504a2011-11-22 22:46:471043#endif // ADDRESS_SANITIZER