Add screen space opacity to opacity tree
[chromium-blink-merge.git] / remoting / remoting_test.gypi
blob3d284f7c5c7abb73da966f64b4487cc2e8a8347e
1 # Copyright 2014 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       # GN version: //remoting:test_support
9       'target_name': 'remoting_test_common',
10       'type': 'static_library',
11       'dependencies': [
12         '../base/base.gyp:base',
13         '../components/components.gyp:policy_component_test_support',
14         '../net/net.gyp:net_test_support',
15         '../testing/gmock.gyp:gmock',
16         '../testing/gtest.gyp:gtest',
17         'remoting_base',
18         'remoting_client',
19         'remoting_host',
20         'remoting_protocol',
21         'remoting_resources',
22       ],
23       'sources': [
24         # Note: sources list duplicated in GN build.
25         'host/fake_desktop_capturer.cc',
26         'host/fake_desktop_capturer.h',
27         'host/fake_desktop_environment.cc',
28         'host/fake_desktop_environment.h',
29         'host/fake_host_status_monitor.h',
30         'host/fake_mouse_cursor_monitor.cc',
31         'host/fake_mouse_cursor_monitor.h',
32         'protocol/fake_authenticator.cc',
33         'protocol/fake_authenticator.h',
34         'protocol/fake_connection_to_host.cc',
35         'protocol/fake_connection_to_host.h',
36         'protocol/fake_datagram_socket.cc',
37         'protocol/fake_datagram_socket.h',
38         'protocol/fake_session.cc',
39         'protocol/fake_session.h',
40         'protocol/fake_stream_socket.cc',
41         'protocol/fake_stream_socket.h',
42         'protocol/protocol_mock_objects.cc',
43         'protocol/protocol_mock_objects.h',
44         'protocol/test_event_matchers.h',
45         'signaling/fake_signal_strategy.cc',
46         'signaling/fake_signal_strategy.h',
47         'signaling/mock_signal_strategy.cc',
48         'signaling/mock_signal_strategy.h',
49         'test/access_token_fetcher.cc',
50         'test/access_token_fetcher.h',
51         'test/app_remoting_test_driver_environment.cc',
52         'test/app_remoting_test_driver_environment_app_details.cc',
53         'test/app_remoting_test_driver_environment.h',
54         'test/fake_access_token_fetcher.cc',
55         'test/fake_access_token_fetcher.h',
56         'test/fake_network_dispatcher.cc',
57         'test/fake_network_dispatcher.h',
58         'test/fake_network_manager.cc',
59         'test/fake_network_manager.h',
60         'test/fake_port_allocator.cc',
61         'test/fake_port_allocator.h',
62         'test/fake_remote_host_info_fetcher.cc',
63         'test/fake_remote_host_info_fetcher.h',
64         'test/fake_socket_factory.cc',
65         'test/fake_socket_factory.h',
66         'test/leaky_bucket.cc',
67         'test/leaky_bucket.h',
68         'test/mock_access_token_fetcher.cc',
69         'test/mock_access_token_fetcher.h',
70         'test/refresh_token_store.cc',
71         'test/refresh_token_store.h',
72         'test/remote_application_details.h',
73         'test/remote_connection_observer.h',
74         'test/remote_host_info.cc',
75         'test/remote_host_info.h',
76         'test/remote_host_info_fetcher.cc',
77         'test/remote_host_info_fetcher.h',
78         'test/test_chromoting_client.cc',
79         'test/test_chromoting_client.h',
80         'test/test_video_renderer.cc',
81         'test/test_video_renderer.h',
82       ],
83       'conditions': [
84         ['enable_remoting_host == 0', {
85           'dependencies!': [
86             'remoting_host',
87           ],
88           'sources/': [
89             ['exclude', '^host/'],
90           ]
91         }],
92       ],
93     },
94     {
95       'target_name': 'remoting_test_driver_common',
96       'type': 'static_library',
97       'dependencies': [
98         '../base/base.gyp:base',
99         '../base/base.gyp:test_support_base',
100         '../google_apis/google_apis.gyp:google_apis',
101         '../net/net.gyp:net',
102         '../remoting/remoting.gyp:remoting_base',
103         '../remoting/remoting.gyp:remoting_client',
104         '../remoting/remoting.gyp:remoting_protocol',
105         '../testing/gtest.gyp:gtest',
106       ],
107       'defines': [
108         'VERSION=<(version_full)',
109       ],
110       'sources': [
111         'test/access_token_fetcher.cc',
112         'test/access_token_fetcher.h',
113         'test/refresh_token_store.cc',
114         'test/refresh_token_store.h',
115         'test/remote_connection_observer.h',
116         'test/test_chromoting_client.cc',
117         'test/test_chromoting_client.h',
118         'test/test_video_renderer.cc',
119         'test/test_video_renderer.h',
120       ],
121     }, # end of target 'remoting_test_driver_common'
122     {
123       # A chromoting version of remoting_test_driver_common
124       'target_name': 'chromoting_test_driver',
125       'type': '<(gtest_target_type)',
126       'dependencies': [
127         'remoting_test_driver_common',
128       ],
129       'defines': [
130         'VERSION=<(version_full)',
131       ],
132       'sources': [
133         'test/chromoting_test_driver.cc',
134       ],
135       'include_dirs': [
136         '../testing/gtest/include',
137       ],
138     }, # end of target 'chromoting_test_driver'
139     {
140       'target_name': 'ar_test_driver_common',
141       'type': 'static_library',
142       'dependencies': [
143         '../remoting/proto/chromotocol.gyp:chromotocol_proto_lib',
144         'remoting_test_driver_common',
145       ],
146       'defines': [
147         'VERSION=<(version_full)',
148       ],
149       'sources': [
150         'test/app_remoting_connected_client_fixture.cc',
151         'test/app_remoting_connected_client_fixture.h',
152         'test/app_remoting_test_driver_environment.cc',
153         'test/app_remoting_test_driver_environment.h',
154         'test/remote_application_details.h',
155         'test/remote_host_info.cc',
156         'test/remote_host_info.h',
157         'test/remote_host_info_fetcher.cc',
158         'test/remote_host_info_fetcher.h',
159       ],
160       'include_dirs': [
161         '../testing/gtest/include',
162       ],
163     },  # end of target 'ar_test_driver_common'
164     {
165       # An external version of the test driver tool which includes minimal tests
166       'target_name': 'ar_sample_test_driver',
167       'type': '<(gtest_target_type)',
168       'dependencies': [
169         'ar_test_driver_common',
170       ],
171       'defines': [
172         'VERSION=<(version_full)',
173       ],
174       'sources': [
175         'test/app_remoting_test_driver.cc',
176         'test/app_remoting_test_driver_environment_app_details.cc',
177       ],
178       'include_dirs': [
179         '../testing/gtest/include',
180       ],
181     },  # end of target 'ar_sample_test_driver'
183     # Remoting unit tests
184     {
185       # GN version: //remoting:remoting_unittests
186       # Note that many of the sources are broken out into subdir-specific unit
187       # test source set targets that then GN version then brings together.
188       'target_name': 'remoting_unittests',
189       'type': '<(gtest_target_type)',
190       'dependencies': [
191         '../base/base.gyp:base',
192         '../base/base.gyp:base_i18n',
193         '../base/base.gyp:test_support_base',
194         '../components/components.gyp:policy',
195         '../ipc/ipc.gyp:ipc',
196         '../net/net.gyp:net_test_support',
197         '../ppapi/ppapi.gyp:ppapi_cpp',
198         '../testing/gmock.gyp:gmock',
199         '../testing/gtest.gyp:gtest',
200         '../third_party/libyuv/libyuv.gyp:libyuv',
201         '../third_party/webrtc/modules/modules.gyp:desktop_capture',
202         '../ui/base/ui_base.gyp:ui_base',
203         '../ui/gfx/gfx.gyp:gfx',
204         '../ui/gfx/gfx.gyp:gfx_geometry',
205         'remoting_base',
206         'remoting_breakpad',
207         'remoting_client',
208         'remoting_client_plugin',
209         'remoting_host',
210         'remoting_host_setup_base',
211         'remoting_it2me_host_static',
212         'remoting_native_messaging_base',
213         'remoting_protocol',
214         'remoting_resources',
215         'remoting_test_common',
216       ],
217       'defines': [
218         'VERSION=<(version_full)',
219       ],
220       'include_dirs': [
221         '../testing/gmock/include',
222       ],
223       'sources': [
224         # Note: sources list duplicated in GN build.
225         'base/auto_thread_task_runner_unittest.cc',
226         'base/auto_thread_unittest.cc',
227         'base/breakpad_win_unittest.cc',
228         'base/buffered_socket_writer_unittest.cc',
229         'base/capabilities_unittest.cc',
230         'base/compound_buffer_unittest.cc',
231         'base/rate_counter_unittest.cc',
232         'base/resources_unittest.cc',
233         'base/rsa_key_pair_unittest.cc',
234         'base/run_all_unittests.cc',
235         'base/running_average_unittest.cc',
236         'base/test_rsa_key_pair.h',
237         'base/typed_buffer_unittest.cc',
238         'base/util_unittest.cc',
239         'client/audio_player_unittest.cc',
240         'client/client_status_logger_unittest.cc',
241         'client/key_event_mapper_unittest.cc',
242         'client/plugin/empty_cursor_filter_unittest.cc',
243         'client/plugin/normalizing_input_filter_cros_unittest.cc',
244         'client/plugin/normalizing_input_filter_mac_unittest.cc',
245         'client/plugin/touch_input_scaler_unittest.cc',
246         'client/server_log_entry_client_unittest.cc',
247         'codec/audio_encoder_opus_unittest.cc',
248         'codec/codec_test.cc',
249         'codec/codec_test.h',
250         'codec/video_decoder_vpx_unittest.cc',
251         'codec/video_encoder_helper_unittest.cc',
252         'codec/video_encoder_verbatim_unittest.cc',
253         'codec/video_encoder_vpx_unittest.cc',
254         'host/audio_pump_unittest.cc',
255         'host/audio_silence_detector_unittest.cc',
256         'host/backoff_timer_unittest.cc',
257         'host/branding.cc',
258         'host/branding.h',
259         'host/capture_scheduler_unittest.cc',
260         'host/chromeos/aura_desktop_capturer_unittest.cc',
261         'host/chromeos/clipboard_aura_unittest.cc',
262         'host/chromoting_host_context_unittest.cc',
263         'host/chromoting_host_unittest.cc',
264         'host/client_session_unittest.cc',
265         'host/config_file_watcher_unittest.cc',
266         'host/daemon_process_unittest.cc',
267         'host/desktop_process_unittest.cc',
268         'host/desktop_shape_tracker_unittest.cc',
269         'host/fake_desktop_capturer.cc',
270         'host/fake_desktop_capturer.h',
271         'host/fake_host_extension.cc',
272         'host/fake_host_extension.h',
273         'host/fake_host_status_monitor.h',
274         'host/fake_oauth_token_getter.cc',
275         'host/fake_oauth_token_getter.h',
276         'host/gcd_rest_client_unittest.cc',
277         'host/gcd_state_updater_unittest.cc',
278         'host/gnubby_auth_handler_posix_unittest.cc',
279         'host/heartbeat_sender_unittest.cc',
280         'host/host_change_notification_listener_unittest.cc',
281         'host/host_config_unittest.cc',
282         'host/host_extension_session_manager_unittest.cc',
283         'host/host_mock_objects.cc',
284         'host/host_status_logger_unittest.cc',
285         'host/ipc_desktop_environment_unittest.cc',
286         'host/it2me/it2me_confirmation_dialog_proxy_unittest.cc',
287         'host/it2me/it2me_native_messaging_host_unittest.cc',
288         'host/linux/audio_pipe_reader_unittest.cc',
289         'host/linux/unicode_to_keysym_unittest.cc',
290         'host/linux/x_server_clipboard_unittest.cc',
291         'host/local_input_monitor_unittest.cc',
292         'host/mouse_shape_pump_unittest.cc',
293         'host/native_messaging/native_messaging_reader_unittest.cc',
294         'host/native_messaging/native_messaging_writer_unittest.cc',
295         'host/pairing_registry_delegate_linux_unittest.cc',
296         'host/pairing_registry_delegate_win_unittest.cc',
297         'host/pin_hash_unittest.cc',
298         'host/policy_watcher_unittest.cc',
299         'host/register_support_host_request_unittest.cc',
300         'host/remote_input_filter_unittest.cc',
301         'host/resizing_host_observer_unittest.cc',
302         'host/screen_resolution_unittest.cc',
303         'host/server_log_entry_host_unittest.cc',
304         'host/setup/mock_oauth_client.cc',
305         'host/setup/mock_oauth_client.h',
306         'host/setup/me2me_native_messaging_host.cc',
307         'host/setup/me2me_native_messaging_host.h',
308         'host/setup/me2me_native_messaging_host_unittest.cc',
309         'host/setup/oauth_helper_unittest.cc',
310         'host/setup/pin_validator_unittest.cc',
311         'host/shaped_desktop_capturer_unittest.cc',
312         'host/third_party_auth_config_unittest.cc',
313         'host/token_validator_factory_impl_unittest.cc',
314         'host/touch_injector_win_unittest.cc',
315         'host/video_frame_pump_unittest.cc',
316         'host/video_frame_recorder_unittest.cc',
317         'host/win/rdp_client_unittest.cc',
318         'host/win/worker_process_launcher.cc',
319         'host/win/worker_process_launcher.h',
320         'host/win/worker_process_launcher_unittest.cc',
321         'protocol/authenticator_test_base.cc',
322         'protocol/authenticator_test_base.h',
323         'protocol/channel_multiplexer_unittest.cc',
324         'protocol/chromium_socket_factory_unittest.cc',
325         'protocol/client_video_dispatcher_unittest.cc',
326         'protocol/clipboard_echo_filter_unittest.cc',
327         'protocol/clipboard_filter_unittest.cc',
328         'protocol/connection_tester.cc',
329         'protocol/connection_tester.h',
330         'protocol/connection_to_client_unittest.cc',
331         'protocol/content_description_unittest.cc',
332         'protocol/input_event_tracker_unittest.cc',
333         'protocol/input_filter_unittest.cc',
334         'protocol/jingle_messages_unittest.cc',
335         'protocol/jingle_session_unittest.cc',
336         'protocol/message_decoder_unittest.cc',
337         'protocol/message_reader_unittest.cc',
338         'protocol/monitored_video_stub_unittest.cc',
339         'protocol/mouse_input_filter_unittest.cc',
340         'protocol/negotiating_authenticator_unittest.cc',
341         'protocol/pairing_registry_unittest.cc',
342         'protocol/port_range_unittest.cc',
343         'protocol/ppapi_module_stub.cc',
344         'protocol/ssl_hmac_channel_authenticator_unittest.cc',
345         'protocol/third_party_authenticator_unittest.cc',
346         'protocol/v2_authenticator_unittest.cc',
347         'signaling/iq_sender_unittest.cc',
348         'signaling/jid_util_unittest.cc',
349         'signaling/log_to_server_unittest.cc',
350         'signaling/push_notification_subscriber_unittest.cc',
351         'signaling/server_log_entry_unittest.cc',
352         'signaling/server_log_entry_unittest.h',
353         'signaling/xmpp_login_handler_unittest.cc',
354         'signaling/xmpp_stream_parser_unittest.cc',
355         'signaling/xmpp_signal_strategy_unittest.cc',
356         'test/access_token_fetcher_unittest.cc',
357         'test/app_remoting_test_driver_environment_unittest.cc',
358         'test/remote_host_info_fetcher_unittest.cc',
359         'test/test_chromoting_client_unittest.cc',
360         'test/test_video_renderer_unittest.cc',
361       ],
362       'conditions': [
363         [ 'OS=="win"', {
364           'defines': [
365             '_ATL_NO_EXCEPTIONS',
366           ],
367           'include_dirs': [
368             '../breakpad/src',
369           ],
370           'link_settings': {
371             'libraries': [
372               '-lrpcrt4.lib',
373               '-lwtsapi32.lib',
374             ],
375           },
376         }],
377         [ 'OS=="android"', {
378           'dependencies!': [
379             'remoting_client_plugin',
380           ],
381           'sources/': [
382             ['exclude', '^client/plugin/'],
383           ]
384         }],
385         [ 'OS=="android"', {
386           'dependencies': [
387             '../testing/android/native_test.gyp:native_test_native_code',
388           ],
389         }],
390         [ 'chromeos==0', {
391           'sources!': [
392             'client/plugin/normalizing_input_filter_cros_unittest.cc',
393             'host/chromeos/aura_desktop_capturer_unittest.cc',
394             'host/clipboard_aura_unittest.cc',
395           ],
396         }, { # chromeos==1
397           'sources!': [
398             'host/linux/x_server_clipboard_unittest.cc',
399             'host/local_input_monitor_unittest.cc',
400           ],
401         }],
402         [ 'use_ozone==1', {
403           'sources!': [
404             'host/local_input_monitor_unittest.cc',
405           ],
406         }],
407         ['enable_remoting_host == 0', {
408           'dependencies!': [
409             'remoting_host',
410             'remoting_host_setup_base',
411             'remoting_it2me_host_static',
412             'remoting_native_messaging_base',
413           ],
414           'sources/': [
415             ['exclude', '^codec/'],
416             ['exclude', '^host/'],
417             ['exclude', '^base/resources_unittest\\.cc$'],
418           ]
419         }],
420         [ 'OS == "linux" and use_allocator!="none"', {
421           'dependencies': [
422             '../base/allocator/allocator.gyp:allocator',
423           ],
424         }],
425       ],  # end of 'conditions'
426     },  # end of target 'remoting_unittests'
427     {
428       'target_name': 'remoting_browser_test_resources',
429       'type': 'none',
430       'copies': [
431         {
432           'destination': '<(PRODUCT_DIR)/remoting/browser_test_resources',
433             'files': [
434               '<@(remoting_webapp_browsertest_main_html_extra_files)',
435             ],
436         },
437       ], # end of copies
438     },  # end of target 'remoting_browser_test_resources'
439     {
440       'target_name': 'remoting_webapp_browser_test_main_html',
441       'type': 'none',
442       'actions': [
443         {
444           'action_name': 'Build Remoting Webapp Browser test main.html',
445           'inputs': [
446             'webapp/build-html.py',
447             '<(remoting_webapp_template_main)',
448             '<@(remoting_webapp_template_files)',
449             '<@(remoting_webapp_crd_main_html_all_js_files)',
450             '<@(remoting_webapp_browsertest_main_html_extra_files)',
451           ],
452           'outputs': [
453             '<(SHARED_INTERMEDIATE_DIR)/browser_test/main.html',
454           ],
455           'action': [
456             'python', 'webapp/build-html.py',
457             '<(SHARED_INTERMEDIATE_DIR)/browser_test/main.html',
458             '<(remoting_webapp_template_main)',
459             '--template-dir', '<(DEPTH)/remoting',
460             '--templates', '<@(remoting_webapp_template_files)',
461             '--js',
462             '<@(remoting_webapp_crd_main_html_all_js_files)',
463             '<@(remoting_webapp_browsertest_main_html_extra_files)',
464           ],
465         },
466       ],  # end of actions
467     },  # end of target 'remoting_webapp_browser_test_html'
468     {
469       'target_name': 'remoting_webapp_unittests',
470       'type': 'none',
471       'variables': {
472         'output_dir': '<(PRODUCT_DIR)/remoting/unittests',
473         'webapp_js_files': [
474           '<@(remoting_webapp_unittest_html_all_js_files)',
475           '<@(remoting_webapp_wcs_sandbox_html_js_files)',
476           '<@(remoting_webapp_background_html_js_files)',
477         ]
478       },
479       'copies': [
480         {
481           'destination': '<(output_dir)/qunit',
482           'files': [
483             '../third_party/qunit/src/browser_test_harness.js',
484             '../third_party/qunit/src/qunit.css',
485             '../third_party/qunit/src/qunit.js',
486           ],
487         },
488         {
489           'destination': '<(output_dir)/blanketjs',
490           'files': [
491             '../third_party/blanketjs/src/blanket.js',
492             '../third_party/blanketjs/src/qunit_adapter.js',
493           ],
494         },
495         {
496           'destination': '<(output_dir)/sinonjs',
497           'files': [
498             '../third_party/sinonjs/src/sinon.js',
499             '../third_party/sinonjs/src/sinon-qunit.js',
500           ],
501         },
502         {
503           'destination': '<(output_dir)',
504           'files': [
505             '<@(webapp_js_files)',
506             '<@(remoting_webapp_unittests_all_files)',
507           ],
508         },
509       ],
510       'actions': [
511         {
512           'action_name': 'Build Remoting Webapp unittests.html',
513           'inputs': [
514             'webapp/build-html.py',
515             '<(remoting_webapp_unittests_template_main)',
516             '<@(webapp_js_files)',
517             '<@(remoting_webapp_unittests_all_js_files)'
518           ],
519           'outputs': [
520             '<(output_dir)/unittests.html',
521           ],
522           'action': [
523             'python', 'webapp/build-html.py',
524             '<@(_outputs)',
525             '<(remoting_webapp_unittests_template_main)',
526             # GYP automatically removes subsequent duplicated command line
527             # arguments.  Therefore, the excludejs flag must be set before the
528             # instrumentedjs flag or else GYP will ignore the files in the
529             # exclude list.
530             '--exclude-js', '<@(remoting_webapp_unittests_exclude_js_files)',
531             '--js', '<@(remoting_webapp_unittests_all_js_files)',
532             '--instrument-js', '<@(webapp_js_files)',
533            ],
534         },
535       ],
536     },  # end of target 'remoting_webapp_unittest'
537   ],  # end of targets
539   'conditions': [
540     ['enable_remoting_host==1', {
541       'targets': [
542         # Remoting performance tests
543         {
544           'target_name': 'remoting_perftests',
545           'type': '<(gtest_target_type)',
546           'dependencies': [
547             '../base/base.gyp:base',
548             '../base/base.gyp:test_support_base',
549             '../testing/gtest.gyp:gtest',
550             '../third_party/webrtc/modules/modules.gyp:desktop_capture',
551             '../third_party/libjingle/libjingle.gyp:libjingle',
552             'remoting_base',
553             'remoting_test_common',
554           ],
555           'defines': [
556             'VERSION=<(version_full)',
557           ],
558           'include_dirs': [
559             '../testing/gmock/include',
560           ],
561           'sources': [
562             'base/run_all_unittests.cc',
563             'codec/codec_test.cc',
564             'codec/codec_test.h',
565             'codec/video_encoder_vpx_perftest.cc',
566             'test/protocol_perftest.cc',
567           ],
568           'conditions': [
569             [ 'OS=="mac" or (OS=="linux" and chromeos==0)', {
570               # RunAllTests calls chrome::RegisterPathProvider() under Mac and
571               # Linux, so we need the chrome_common.gypi dependency.
572               'dependencies': [
573                 '../chrome/common_constants.gyp:common_constants',
574               ],
575             }],
576             [ 'OS=="android"', {
577               'dependencies': [
578                 '../testing/android/native_test.gyp:native_test_native_code',
579               ],
580             }],
581             [ 'OS == "linux" and use_allocator!="none"', {
582               'dependencies': [
583                 '../base/allocator/allocator.gyp:allocator',
584               ],
585             }],
586           ],  # end of 'conditions'
587         },  # end of target 'remoting_perftests'
588       ]
589     }],  # end of 'enable_remoting_host'
590     ['disable_nacl==0 and disable_nacl_untrusted==0', {
591       'targets': [
592         {
593           'target_name': 'remoting_webapp_browser_test',
594           'type': 'none',
595           'variables': {
596             'output_dir': '<(PRODUCT_DIR)/remoting/remoting.webapp.browsertest.v2',
597             'zip_path': '<(PRODUCT_DIR)/remoting-webapp.browsertest.v2.zip',
598             'webapp_type': 'v2_pnacl',
599             'main_html_file': '<(SHARED_INTERMEDIATE_DIR)/browser_test/main.html',
600             'extra_files': [
601               'webapp/crd/remoting_client_pnacl.nmf.jinja2',
602               '<(PRODUCT_DIR)/remoting_client_plugin_newlib.pexe',
603               '<@(remoting_webapp_browsertest_main_html_extra_files)',
604             ],
605           },
606           'dependencies': [
607             'remoting_nacl.gyp:remoting_client_plugin_nacl',
608             'remoting_webapp_browser_test_main_html',
609           ],
610           'includes': [ 'remoting_webapp.gypi', ],
611         },  # end of target 'remoting_webapp_browser_test'
612       ]
613     }]
614   ] # end of 'conditions'