Allow creating SharedMemory that can't be shared read-only.
[chromium-blink-merge.git] / ppapi / ppapi_tests.gypi
blobe6d41562f76a6bc9e13699e594147122ef704884
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
3 # found in the LICENSE file.
6   'targets': [
7     {
8       'target_name': 'ppapi_tests',
9       'type': 'loadable_module',
10       'include_dirs': [
11         'lib/gl/include',
12       ],
13       'defines': [
14         'GL_GLEXT_PROTOTYPES',
15       ],
16       'sources': [
17         '<@(test_common_source_files)',
18         '<@(test_trusted_source_files)',
19       ],
20       'dependencies': [
21         'ppapi.gyp:ppapi_cpp',
22         'ppapi_internal.gyp:ppapi_shared',
23       ],
24       'copies': [
25         {
26           'destination': '<(PRODUCT_DIR)',
27           'files': [
28             # Keep 'test_case.html.mock-http-headers' with 'test_case.html'.
29             'tests/test_case.html',
30             'tests/test_case.html.mock-http-headers',
31             'tests/test_page.css',
32             'tests/ppapi_nacl_tests_newlib.nmf',
33             'tests/ppapi_nacl_tests_pnacl_nonsfi.nmf',
34           ],
35         },
36         {
37           'destination': '<(PRODUCT_DIR)/test_url_loader_data',
38           'files': [
39             'tests/test_url_loader_data/hello.txt',
40           ],
41         },
42       ],
43       'run_as': {
44         'action': [
45           '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)chrome<(EXECUTABLE_SUFFIX)',
46           '--enable-pepper-testing',
47           '--register-pepper-plugins=$(TargetPath);application/x-ppapi-tests',
48           'file://$(ProjectDir)/tests/test_case.html?testcase=',
49         ],
50       },
51       'conditions': [
52         ['OS=="win"', {
53           'defines': [
54             '_CRT_SECURE_NO_DEPRECATE',
55             '_CRT_NONSTDC_NO_WARNINGS',
56             '_CRT_NONSTDC_NO_DEPRECATE',
57             '_SCL_SECURE_NO_DEPRECATE',
58           ],
59           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
60           'msvs_disabled_warnings': [ 4267, ],
61         }],
62         ['OS=="mac"', {
63           'mac_bundle': 1,
64           'product_name': 'ppapi_tests',
65           'product_extension': 'plugin',
66         }],
67       ],
68       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
69       'msvs_disabled_warnings': [ 4267, ],
70 # TODO(dmichael):  Figure out what is wrong with the script on Windows and add
71 #                  it as an automated action.
72 #      'actions': [
73 #        {
74 #          'action_name': 'generate_ppapi_include_tests',
75 #          'inputs': [],
76 #          'outputs': [
77 #            'tests/test_c_includes.c',
78 #            'tests/test_cc_includes.cc',
79 #          ],
80 #          'action': [
81 #            '<!@(python generate_ppapi_include_tests.py)',
82 #          ],
83 #        },
84 #      ],
85     },
86     {
87       'target_name': 'ppapi_unittest_shared',
88       'type': 'static_library',
89       'dependencies': [
90         'ppapi_proxy',
91         'ppapi_shared',
92         '../base/base.gyp:test_support_base',
93         '../ipc/ipc.gyp:ipc',
94         '../ipc/ipc.gyp:test_support_ipc',
95         '../testing/gmock.gyp:gmock',
96         '../testing/gtest.gyp:gtest',
97       ],
98       'sources': [
99         'proxy/ppapi_proxy_test.cc',
100         'proxy/ppapi_proxy_test.h',
101         'proxy/resource_message_test_sink.cc',
102         'proxy/resource_message_test_sink.h',
103         'shared_impl/test_globals.cc',
104         'shared_impl/test_globals.h',
105         'shared_impl/unittest_utils.cc',
106         'shared_impl/unittest_utils.h',
107       ],
108     },
110     {
111       'target_name': 'ppapi_perftests',
112       'type': 'executable',
113       'variables': {
114         'chromium_code': 1,
115       },
116       'dependencies': [
117         'ppapi_proxy',
118         'ppapi_shared',
119         'ppapi_unittest_shared',
120         '../base/base.gyp:test_support_base',
121         '../testing/gtest.gyp:gtest',
122       ],
123       'sources': [
124         'proxy/ppapi_perftests.cc',
125         'proxy/ppp_messaging_proxy_perftest.cc',
126       ],
127       'conditions': [
128         # See http://crbug.com/162998#c4 for why this is needed.
129         # TODO(dmikurube): Kill linux_use_tcmalloc. http://crbug.com/345554
130         ['OS=="linux" and ((use_allocator!="none" and use_allocator!="see_use_tcmalloc") or (use_allocator=="see_use_tcmalloc" and linux_use_tcmalloc==1))', {
131           'dependencies': [
132             '../base/allocator/allocator.gyp:allocator',
133           ],
134         }],
135       ],
136     },
137     {
138       'target_name': 'ppapi_unittests',
139       'type': 'executable',
140       'variables': {
141         'chromium_code': 1,
142       },
143       'dependencies': [
144         'ppapi_host',
145         'ppapi_proxy',
146         'ppapi_shared',
147         'ppapi_unittest_shared',
148         '../base/base.gyp:run_all_unittests',
149         '../base/base.gyp:test_support_base',
150         '../gpu/gpu.gyp:gpu_ipc',
151         '../ipc/ipc.gyp:ipc',
152         '../ipc/ipc.gyp:test_support_ipc',
153         '../media/media.gyp:shared_memory_support',
154         '../testing/gmock.gyp:gmock',
155         '../testing/gtest.gyp:gtest',
156         '../ui/surface/surface.gyp:surface',
157       ],
158       'sources': [
159         'host/resource_message_filter_unittest.cc',
160         'proxy/device_enumeration_resource_helper_unittest.cc',
161         'proxy/file_chooser_resource_unittest.cc',
162         'proxy/file_system_resource_unittest.cc',
163         'proxy/flash_resource_unittest.cc',
164         'proxy/interface_list_unittest.cc',
165         'proxy/mock_resource.cc',
166         'proxy/mock_resource.h',
167         'proxy/nacl_message_scanner_unittest.cc',
168         'proxy/pdf_resource_unittest.cc',
169         'proxy/plugin_dispatcher_unittest.cc',
170         'proxy/plugin_resource_tracker_unittest.cc',
171         'proxy/plugin_var_tracker_unittest.cc',
172         'proxy/ppb_var_unittest.cc',
173         'proxy/ppp_instance_private_proxy_unittest.cc',
174         'proxy/ppp_instance_proxy_unittest.cc',
175         'proxy/ppp_messaging_proxy_unittest.cc',
176         'proxy/printing_resource_unittest.cc',
177         'proxy/raw_var_data_unittest.cc',
178         'proxy/serialized_var_unittest.cc',
179         'proxy/talk_resource_unittest.cc',
180         'proxy/websocket_resource_unittest.cc',
181         'shared_impl/media_stream_buffer_manager_unittest.cc',
182         'shared_impl/media_stream_video_track_shared_unittest.cc',
183         'shared_impl/proxy_lock_unittest.cc',
184         'shared_impl/resource_tracker_unittest.cc',
185         'shared_impl/thread_aware_callback_unittest.cc',
186         'shared_impl/time_conversion_unittest.cc',
187         'shared_impl/tracked_callback_unittest.cc',
188         'shared_impl/var_tracker_unittest.cc',
189         'shared_impl/var_value_conversions_unittest.cc',
190       ],
191       'conditions': [
192         [ 'os_posix == 1 and OS != "mac" and OS != "android" and OS != "ios"', {
193           'conditions': [
194             # TODO(dmikurube): Kill linux_use_tcmalloc. http://crbug.com/345554
195             [ '(use_allocator!="none" and use_allocator!="see_use_tcmalloc") or (use_allocator=="see_use_tcmalloc" and linux_use_tcmalloc==1)', {
196               'dependencies': [
197                 '../base/allocator/allocator.gyp:allocator',
198               ],
199             }],
200           ],
201         }],
202       ],
203       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
204       'msvs_disabled_warnings': [ 4267, ],
205     },
206     {
207       'target_name': 'ppapi_example_skeleton',
208       'suppress_wildcard': 1,
209       'type': 'none',
210       'direct_dependent_settings': {
211         'product_name': '>(_target_name)',
212         'conditions': [
213           ['os_posix==1 and OS!="mac"', {
214             'cflags': ['-fvisibility=hidden'],
215             'type': 'shared_library',
216           }],
217           ['OS=="win"', {
218             'type': 'shared_library',
219           }],
220           ['OS=="mac"', {
221             'type': 'loadable_module',
222             'mac_bundle': 1,
223             'product_extension': 'plugin',
224             'xcode_settings': {
225               'OTHER_LDFLAGS': [
226                 # Not to strip important symbols by -Wl,-dead_strip.
227                 '-Wl,-exported_symbol,_PPP_GetInterface',
228                 '-Wl,-exported_symbol,_PPP_InitializeModule',
229                 '-Wl,-exported_symbol,_PPP_ShutdownModule'
230               ]},
231           }],
232         ],
233       },
234     },
235     {
236       'target_name': 'ppapi_example_mouse_cursor',
237       'dependencies': [
238         'ppapi_example_skeleton',
239         'ppapi.gyp:ppapi_cpp',
240       ],
241       'sources': [
242         'examples/mouse_cursor/mouse_cursor.cc',
243       ],
244     },
245     {
246       'target_name': 'ppapi_example_mouse_lock',
247       'dependencies': [
248         'ppapi_example_skeleton',
249         'ppapi.gyp:ppapi_cpp',
250       ],
251       'sources': [
252         'examples/mouse_lock/mouse_lock.cc',
253       ],
254     },
256     {
257       'target_name': 'ppapi_example_gamepad',
258       'dependencies': [
259         'ppapi_example_skeleton',
260         'ppapi.gyp:ppapi_cpp',
261       ],
262       'sources': [
263         'examples/gamepad/gamepad.cc',
264       ],
265       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
266       'msvs_disabled_warnings': [ 4267, ],
267     },
269     {
270       'target_name': 'ppapi_example_c_stub',
271       'dependencies': [
272         'ppapi_example_skeleton',
273         'ppapi.gyp:ppapi_c',
274       ],
275       'sources': [
276         'examples/stub/stub.c',
277       ],
278     },
279     {
280       'target_name': 'ppapi_example_cc_stub',
281       'dependencies': [
282         'ppapi_example_skeleton',
283         'ppapi.gyp:ppapi_cpp',
284       ],
285       'sources': [
286         'examples/stub/stub.cc',
287       ],
288     },
289     {
290       'target_name': 'ppapi_example_crxfs',
291       'dependencies': [
292         'ppapi_example_skeleton',
293         'ppapi.gyp:ppapi_cpp',
294       ],
295       'sources': [
296         'examples/crxfs/crxfs.cc',
297       ],
298     },
299     {
300       'target_name': 'ppapi_example_audio',
301       'dependencies': [
302         'ppapi_example_skeleton',
303         'ppapi.gyp:ppapi_cpp',
304       ],
305       'sources': [
306         'examples/audio/audio.cc',
307       ],
308     },
309     {
310       'target_name': 'ppapi_example_audio_input',
311       'dependencies': [
312         'ppapi_example_skeleton',
313         'ppapi.gyp:ppapi_cpp',
314       ],
315       'sources': [
316         'examples/audio_input/audio_input.cc',
317       ],
318     },
319     {
320       'target_name': 'ppapi_example_file_chooser',
321       'dependencies': [
322         'ppapi_example_skeleton',
323         'ppapi.gyp:ppapi_cpp',
324       ],
325       'sources': [
326         'examples/file_chooser/file_chooser.cc',
327       ],
328     },
329     {
330       'target_name': 'ppapi_example_graphics_2d',
331       'dependencies': [
332         'ppapi_example_skeleton',
333         'ppapi.gyp:ppapi_c',
334       ],
335       'sources': [
336         'examples/2d/graphics_2d_example.c',
337       ],
338     },
339     {
340       'target_name': 'ppapi_example_ime',
341       'dependencies': [
342         'ppapi_example_skeleton',
343         'ppapi.gyp:ppapi_cpp',
344       ],
345       'sources': [
346         'examples/ime/ime.cc',
347       ],
348       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
349       'msvs_disabled_warnings': [ 4267, ],
350     },
351     {
352       'target_name': 'ppapi_example_paint_manager',
353       'dependencies': [
354         'ppapi_example_skeleton',
355         'ppapi.gyp:ppapi_cpp',
356       ],
357       'sources': [
358         'examples/2d/paint_manager_example.cc',
359       ],
360     },
361     {
362       'target_name': 'ppapi_example_input',
363       'dependencies': [
364         'ppapi_example_skeleton',
365         'ppapi.gyp:ppapi_cpp',
366       ],
367       'sources': [
368         'examples/input/pointer_event_input.cc',
369       ],
370     },
371     {
372       'target_name': 'ppapi_example_post_message',
373       'dependencies': [
374         'ppapi_example_skeleton',
375         'ppapi.gyp:ppapi_cpp',
376       ],
377       'sources': [
378         'examples/scripting/post_message.cc',
379       ],
380     },
381     {
382       'target_name': 'ppapi_example_scaling',
383       'dependencies': [
384         'ppapi_example_skeleton',
385         'ppapi.gyp:ppapi_cpp',
386       ],
387       'sources': [
388         'examples/scaling/scaling.cc',
389       ],
390     },
391     {
392       'target_name': 'ppapi_example_scroll',
393       'dependencies': [
394         'ppapi_example_skeleton',
395         'ppapi.gyp:ppapi_cpp',
396       ],
397       'sources': [
398         'examples/2d/scroll.cc',
399       ],
400     },
401     {
402       'target_name': 'ppapi_example_simple_font',
403       'dependencies': [
404         'ppapi_example_skeleton',
405         'ppapi.gyp:ppapi_cpp',
406       ],
407       'sources': [
408         'examples/font/simple_font.cc',
409       ],
410     },
411     {
412       'target_name': 'ppapi_example_url_loader',
413       'dependencies': [
414         'ppapi_example_skeleton',
415         'ppapi.gyp:ppapi_cpp',
416       ],
417       'sources': [
418         'examples/url_loader/streaming.cc',
419       ],
420     },
421     {
422       'target_name': 'ppapi_example_url_loader_file',
423       'dependencies': [
424         'ppapi_example_skeleton',
425         'ppapi.gyp:ppapi_cpp',
426       ],
427       'sources': [
428         'examples/url_loader/stream_to_file.cc',
429       ],
430     },
431     {
432       'target_name': 'ppapi_example_gles2',
433       'dependencies': [
434         'ppapi_example_skeleton',
435         'ppapi.gyp:ppapi_cpp',
436         'ppapi.gyp:ppapi_gles2',
437       ],
438       'include_dirs': [
439         'lib/gl/include',
440       ],
441       'sources': [
442         'examples/gles2/gles2.cc',
443       ],
444     },
445     {
446       'target_name': 'ppapi_example_video_decode',
447       'dependencies': [
448         'ppapi_example_skeleton',
449         'ppapi.gyp:ppapi_cpp',
450         'ppapi.gyp:ppapi_gles2',
451       ],
452       'include_dirs': [
453         'lib/gl/include',
454       ],
455       'sources': [
456         'examples/video_decode/video_decode.cc',
457         'examples/video_decode/testdata.h',
458       ],
459       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
460       'msvs_disabled_warnings': [ 4267, ],
461     },
462     {
463       'target_name': 'ppapi_example_vc',
464       'dependencies': [
465         'ppapi_example_skeleton',
466         'ppapi.gyp:ppapi_cpp',
467         'ppapi.gyp:ppapi_gles2',
468       ],
469       'include_dirs': [
470         'lib/gl/include',
471       ],
472       'sources': [
473         'examples/video_capture/video_capture.cc',
474       ],
475     },
476     {
477       'target_name': 'ppapi_example_video_effects',
478       'dependencies': [
479         'ppapi_example_skeleton',
480         'ppapi.gyp:ppapi_cpp',
481       ],
482       'sources': [
483         'examples/video_effects/video_effects.cc',
484       ],
485     },
486     {
487       'target_name': 'ppapi_example_enumerate_devices',
488       'dependencies': [
489         'ppapi_example_skeleton',
490         'ppapi.gyp:ppapi_cpp',
491       ],
492       'sources': [
493         'examples/enumerate_devices/enumerate_devices.cc',
494       ],
495     },
496     {
497       'target_name': 'ppapi_example_flash_topmost',
498       'dependencies': [
499         'ppapi_example_skeleton',
500         'ppapi.gyp:ppapi_cpp',
501       ],
502       'sources': [
503         'examples/flash_topmost/flash_topmost.cc',
504       ],
505     },
506     {
507       'target_name': 'ppapi_example_printing',
508       'dependencies': [
509         'ppapi_example_skeleton',
510         'ppapi.gyp:ppapi_cpp',
511       ],
512       'sources': [
513         'examples/printing/printing.cc',
514       ],
515       # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
516       'msvs_disabled_warnings': [ 4267, ],
517     },
518     {
519       'target_name': 'ppapi_example_media_stream_audio',
520       'dependencies': [
521         'ppapi_example_skeleton',
522         'ppapi.gyp:ppapi_cpp',
523       ],
524       'sources': [
525         'examples/media_stream_audio/media_stream_audio.cc',
526       ],
527     },
528     {
529       'target_name': 'ppapi_example_media_stream_video',
530       'dependencies': [
531         'ppapi_example_skeleton',
532         'ppapi.gyp:ppapi_cpp',
533         'ppapi.gyp:ppapi_gles2',
534       ],
535       'include_dirs': [
536         'lib/gl/include',
537       ],
538       'sources': [
539         'examples/media_stream_video/media_stream_video.cc',
540       ],
541     },
542     {
543       'target_name': 'ppapi_example_gles2_spinning_cube',
544       'dependencies': [
545         'ppapi_example_skeleton',
546         'ppapi.gyp:ppapi_cpp',
547         'ppapi.gyp:ppapi_gles2',
548       ],
549       'include_dirs': [
550         'lib/gl/include',
551       ],
552       'sources': [
553         'examples/gles2_spinning_cube/gles2_spinning_cube.cc',
554         'examples/gles2_spinning_cube/spinning_cube.cc',
555         'examples/gles2_spinning_cube/spinning_cube.h',
556       ],
557     },
558   ],