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.
4
5{
6  'variables': {
7    'chromium_code': 1,
8    'cc_unit_tests_source_files': [
9      'animation/animation_unittest.cc',
10      'animation/keyframed_animation_curve_unittest.cc',
11      'animation/layer_animation_controller_unittest.cc',
12      'animation/scroll_offset_animation_curve_unittest.cc',
13      'animation/scrollbar_animation_controller_linear_fade_unittest.cc',
14      'animation/scrollbar_animation_controller_thinning_unittest.cc',
15      'animation/transform_operations_unittest.cc',
16      'base/delayed_unique_notifier_unittest.cc',
17      'base/float_quad_unittest.cc',
18      'base/math_util_unittest.cc',
19      'base/region_unittest.cc',
20      'base/rolling_time_delta_history_unittest.cc',
21      'base/scoped_ptr_vector_unittest.cc',
22      'base/simple_enclosed_region_unittest.cc',
23      'base/tiling_data_unittest.cc',
24      'base/unique_notifier_unittest.cc',
25      'base/util_unittest.cc',
26      'debug/micro_benchmark_controller_unittest.cc',
27      'debug/rendering_stats_unittest.cc',
28      'input/top_controls_manager_unittest.cc',
29      'layers/contents_scaling_layer_unittest.cc',
30      'layers/delegated_frame_provider_unittest.cc',
31      'layers/delegated_frame_resource_collection_unittest.cc',
32      'layers/delegated_renderer_layer_impl_unittest.cc',
33      'layers/delegated_renderer_layer_unittest.cc',
34      'layers/heads_up_display_unittest.cc',
35      'layers/heads_up_display_layer_impl_unittest.cc',
36      'layers/io_surface_layer_impl_unittest.cc',
37      'layers/layer_impl_unittest.cc',
38      'layers/layer_iterator_unittest.cc',
39      'layers/layer_position_constraint_unittest.cc',
40      'layers/layer_unittest.cc',
41      'layers/layer_utils_unittest.cc',
42      'layers/nine_patch_layer_impl_unittest.cc',
43      'layers/nine_patch_layer_unittest.cc',
44      'layers/painted_scrollbar_layer_impl_unittest.cc',
45      'layers/picture_image_layer_impl_unittest.cc',
46      'layers/picture_layer_impl_unittest.cc',
47      'layers/picture_layer_unittest.cc',
48      'layers/render_surface_unittest.cc',
49      'layers/render_surface_impl_unittest.cc',
50      'layers/scrollbar_layer_unittest.cc',
51      'layers/solid_color_layer_impl_unittest.cc',
52      'layers/solid_color_scrollbar_layer_impl_unittest.cc',
53      'layers/surface_layer_impl_unittest.cc',
54      'layers/texture_layer_unittest.cc',
55      'layers/texture_layer_impl_unittest.cc',
56      'layers/tiled_layer_impl_unittest.cc',
57      'layers/tiled_layer_unittest.cc',
58      'layers/ui_resource_layer_impl_unittest.cc',
59      'layers/ui_resource_layer_unittest.cc',
60      'layers/video_layer_impl_unittest.cc',
61      'output/begin_frame_args_unittest.cc',
62      'output/bsp_tree_unittest.cc',
63      'output/delegating_renderer_unittest.cc',
64      'output/filter_operations_unittest.cc',
65      'output/gl_renderer_unittest.cc',
66      'output/output_surface_unittest.cc',
67      'output/overlay_unittest.cc',
68      'output/renderer_pixeltest.cc',
69      'output/renderer_unittest.cc',
70      'output/shader_unittest.cc',
71      'output/software_renderer_unittest.cc',
72      'quads/draw_polygon_unittest.cc',
73      'quads/draw_quad_unittest.cc',
74      'quads/list_container_unittest.cc',
75      'quads/render_pass_unittest.cc',
76      'resources/layer_quad_unittest.cc',
77      'resources/picture_layer_tiling_set_unittest.cc',
78      'resources/picture_layer_tiling_unittest.cc',
79      'resources/picture_pile_impl_unittest.cc',
80      'resources/picture_pile_unittest.cc',
81      'resources/picture_unittest.cc',
82      'resources/prioritized_resource_unittest.cc',
83      'resources/prioritized_tile_set_unittest.cc',
84      'resources/raster_worker_pool_unittest.cc',
85      'resources/resource_provider_unittest.cc',
86      'resources/resource_update_controller_unittest.cc',
87      'resources/scoped_resource_unittest.cc',
88      'resources/task_graph_runner_unittest.cc',
89      'resources/texture_mailbox_deleter_unittest.cc',
90      'resources/texture_uploader_unittest.cc',
91      'resources/tile_manager_unittest.cc',
92      'resources/tile_priority_unittest.cc',
93      'resources/video_resource_updater_unittest.cc',
94      'scheduler/delay_based_time_source_unittest.cc',
95      'scheduler/scheduler_state_machine_unittest.cc',
96      'scheduler/scheduler_unittest.cc',
97      'test/layer_tree_json_parser_unittest.cc',
98      'test/ordered_simple_task_runner_unittest.cc',
99      'test/test_web_graphics_context_3d_unittest.cc',
100      'trees/blocking_task_runner_unittest.cc',
101      'trees/damage_tracker_unittest.cc',
102      'trees/layer_sorter_unittest.cc',
103      'trees/layer_tree_host_common_unittest.cc',
104      'trees/layer_tree_host_impl_unittest.cc',
105      'trees/layer_tree_host_pixeltest_blending.cc',
106      'trees/layer_tree_host_pixeltest_filters.cc',
107      'trees/layer_tree_host_pixeltest_masks.cc',
108      'trees/layer_tree_host_pixeltest_on_demand_raster.cc',
109      'trees/layer_tree_host_pixeltest_readback.cc',
110      'trees/layer_tree_host_unittest.cc',
111      'trees/layer_tree_host_unittest_animation.cc',
112      'trees/layer_tree_host_unittest_context.cc',
113      'trees/layer_tree_host_unittest_copyrequest.cc',
114      'trees/layer_tree_host_unittest_damage.cc',
115      'trees/layer_tree_host_unittest_delegated.cc',
116      'trees/layer_tree_host_unittest_occlusion.cc',
117      'trees/layer_tree_host_unittest_no_message_loop.cc',
118      'trees/layer_tree_host_unittest_picture.cc',
119      'trees/layer_tree_host_unittest_proxy.cc',
120      'trees/layer_tree_host_unittest_scroll.cc',
121      'trees/layer_tree_host_unittest_video.cc',
122      'trees/layer_tree_impl_unittest.cc',
123      'trees/occlusion_tracker_unittest.cc',
124      'trees/tree_synchronizer_unittest.cc',
125    ],
126    'cc_surfaces_unit_tests_source_files': [
127      'surfaces/surface_aggregator_test_helpers.cc',
128      'surfaces/surface_aggregator_test_helpers.h',
129      'surfaces/surface_aggregator_unittest.cc',
130      'surfaces/surface_factory_unittest.cc',
131      'surfaces/surface_unittest.cc',
132      'surfaces/surfaces_pixeltest.cc',
133    ],
134    'cc_tests_support_files': [
135      'test/animation_test_common.cc',
136      'test/animation_test_common.h',
137      'test/begin_frame_args_test.cc',
138      'test/begin_frame_args_test.h',
139      'test/fake_content_layer.cc',
140      'test/fake_content_layer.h',
141      'test/fake_content_layer_client.cc',
142      'test/fake_content_layer_client.h',
143      'test/fake_content_layer_impl.cc',
144      'test/fake_content_layer_impl.h',
145      'test/fake_delegated_renderer_layer.cc',
146      'test/fake_delegated_renderer_layer.h',
147      'test/fake_delegated_renderer_layer_impl.cc',
148      'test/fake_delegated_renderer_layer_impl.h',
149      'test/fake_impl_proxy.h',
150      'test/fake_layer_tree_host.cc',
151      'test/fake_layer_tree_host.h',
152      'test/fake_layer_tree_host_client.cc',
153      'test/fake_layer_tree_host_client.h',
154      'test/fake_layer_tree_host_impl.cc',
155      'test/fake_layer_tree_host_impl.h',
156      'test/fake_layer_tree_host_impl_client.cc',
157      'test/fake_layer_tree_host_impl_client.h',
158      'test/fake_output_surface.cc',
159      'test/fake_output_surface.h',
160      'test/fake_output_surface_client.cc',
161      'test/fake_output_surface_client.h',
162      'test/fake_painted_scrollbar_layer.cc',
163      'test/fake_painted_scrollbar_layer.h',
164      'test/fake_picture_layer.cc',
165      'test/fake_picture_layer.h',
166      'test/fake_picture_layer_impl.cc',
167      'test/fake_picture_layer_impl.h',
168      'test/fake_picture_layer_tiling_client.cc',
169      'test/fake_picture_layer_tiling_client.h',
170      'test/fake_picture_pile_impl.cc',
171      'test/fake_picture_pile_impl.h',
172      'test/fake_proxy.cc',
173      'test/fake_proxy.h',
174      'test/fake_renderer_client.cc',
175      'test/fake_renderer_client.h',
176      'test/fake_rendering_stats_instrumentation.h',
177      'test/fake_scoped_ui_resource.cc',
178      'test/fake_scoped_ui_resource.h',
179      'test/fake_scrollbar.cc',
180      'test/fake_scrollbar.h',
181      'test/fake_tile_manager.cc',
182      'test/fake_tile_manager.h',
183      'test/fake_tile_manager_client.cc',
184      'test/fake_tile_manager_client.h',
185      'test/fake_ui_resource_layer_tree_host_impl.cc',
186      'test/fake_ui_resource_layer_tree_host_impl.h',
187      'test/fake_video_frame_provider.cc',
188      'test/fake_video_frame_provider.h',
189      'test/geometry_test_utils.cc',
190      'test/geometry_test_utils.h',
191      'test/test_in_process_context_provider.cc',
192      'test/test_in_process_context_provider.h',
193      'test/impl_side_painting_settings.h',
194      'test/layer_test_common.cc',
195      'test/layer_test_common.h',
196      'test/layer_tree_host_common_test.cc',
197      'test/layer_tree_host_common_test.h',
198      'test/layer_tree_json_parser.cc',
199      'test/layer_tree_json_parser.h',
200      'test/layer_tree_pixel_test.cc',
201      'test/layer_tree_pixel_test.h',
202      'test/layer_tree_test.cc',
203      'test/layer_tree_test.h',
204      'test/mock_occlusion_tracker.h',
205      'test/ordered_simple_task_runner.cc',
206      'test/ordered_simple_task_runner.h',
207      'test/ordered_texture_map.cc',
208      'test/ordered_texture_map.h',
209      'test/paths.cc',
210      'test/paths.h',
211      'test/pixel_comparator.cc',
212      'test/pixel_comparator.h',
213      'test/pixel_test.cc',
214      'test/pixel_test.h',
215      'test/pixel_test_output_surface.cc',
216      'test/pixel_test_output_surface.h',
217      'test/pixel_test_software_output_device.cc',
218      'test/pixel_test_software_output_device.h',
219      'test/pixel_test_utils.cc',
220      'test/pixel_test_utils.h',
221      'test/render_pass_test_common.cc',
222      'test/render_pass_test_common.h',
223      'test/render_pass_test_utils.cc',
224      'test/render_pass_test_utils.h',
225      'test/scheduler_test_common.cc',
226      'test/scheduler_test_common.h',
227      'test/skia_common.cc',
228      'test/skia_common.h',
229      'test/solid_color_content_layer_client.cc',
230      'test/solid_color_content_layer_client.h',
231      'test/test_context_provider.cc',
232      'test/test_context_provider.h',
233      'test/test_context_support.cc',
234      'test/test_context_support.h',
235      'test/test_gles2_interface.cc',
236      'test/test_gles2_interface.h',
237      'test/test_now_source.cc',
238      'test/test_now_source.h',
239      'test/test_occlusion_tracker.h',
240      'test/test_shared_bitmap_manager.cc',
241      'test/test_shared_bitmap_manager.h',
242      'test/test_texture.cc',
243      'test/test_texture.h',
244      'test/test_tile_priorities.cc',
245      'test/test_tile_priorities.h',
246      'test/test_web_graphics_context_3d.cc',
247      'test/test_web_graphics_context_3d.h',
248      'test/tiled_layer_test_common.cc',
249      'test/tiled_layer_test_common.h',
250    ],
251  },
252  'targets': [
253    {
254      'target_name': 'cc_unittests',
255      'type': '<(gtest_target_type)',
256      'dependencies': [
257        '../base/base.gyp:test_support_base',
258        '../gpu/command_buffer/command_buffer.gyp:gles2_utils',
259        '../gpu/gpu.gyp:gpu',
260        '../gpu/gpu.gyp:gpu_unittest_utils',
261        '../media/media.gyp:media',
262        '../skia/skia.gyp:skia',
263        '../testing/gmock.gyp:gmock',
264        '../testing/gtest.gyp:gtest',
265        '../ui/events/events.gyp:events_base',
266        '../ui/gfx/gfx.gyp:gfx',
267        '../ui/gfx/gfx.gyp:gfx_geometry',
268        'cc.gyp:cc',
269        'cc.gyp:cc_surfaces',
270        'cc_test_support',
271      ],
272      'sources': [
273        'test/run_all_unittests.cc',
274        'test/cc_test_suite.cc',
275        '<@(cc_unit_tests_source_files)',
276        '<@(cc_surfaces_unit_tests_source_files)',
277      ],
278      'include_dirs': [
279        'test',
280        '.',
281      ],
282      'conditions': [
283        ['OS == "android"',
284          {
285            'dependencies': [
286              '../testing/android/native_test.gyp:native_test_native_code',
287            ],
288          }
289        ],
290        [ 'os_posix == 1 and OS != "mac" and OS != "android" and OS != "ios"',
291          {
292            'conditions': [
293              [ 'use_allocator!="none"',
294                {
295                  'dependencies': [
296                    '../base/allocator/allocator.gyp:allocator',
297                  ],
298                }
299              ],
300            ],
301          }
302        ],
303      ],
304      # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
305      'msvs_disabled_warnings': [ 4267, ],
306    },
307    {
308      # GN version: //cc/cc_perftests
309      'target_name': 'cc_perftests',
310      'type': '<(gtest_target_type)',
311      'dependencies': [
312        '../base/base.gyp:test_support_base',
313        '../gpu/command_buffer/command_buffer.gyp:gles2_utils',
314        '../gpu/gpu.gyp:gpu',
315        '../gpu/gpu.gyp:gpu_unittest_utils',
316        '../media/media.gyp:media',
317        '../skia/skia.gyp:skia',
318        '../testing/gmock.gyp:gmock',
319        '../testing/gtest.gyp:gtest',
320        '../testing/perf/perf_test.gyp:*',
321        '../ui/gfx/gfx.gyp:gfx',
322        '../ui/gfx/gfx.gyp:gfx_geometry',
323        'cc.gyp:cc',
324        'cc_test_support',
325      ],
326      'sources': [
327        # Note: sources list duplicated in GN build.
328        'layers/layer_perftest.cc',
329        'layers/picture_layer_impl_perftest.cc',
330        'resources/picture_layer_tiling_perftest.cc',
331        'resources/picture_pile_impl_perftest.cc',
332        'resources/raster_worker_pool_perftest.cc',
333        'resources/task_graph_runner_perftest.cc',
334        'resources/tile_manager_perftest.cc',
335        'test/cc_test_suite.cc',
336        'test/run_all_perftests.cc',
337        'trees/layer_tree_host_common_perftest.cc',
338        'trees/layer_tree_host_perftest.cc',
339        'trees/occlusion_tracker_perftest.cc',
340      ],
341      'include_dirs': [
342        'test',
343        '.',
344      ],
345      'conditions': [
346        ['OS == "android"',
347          {
348            'dependencies': [
349              '../testing/android/native_test.gyp:native_test_native_code',
350            ],
351          }
352        ],
353        # See http://crbug.com/162998#c4 for why this is needed.
354        ['OS=="linux" and use_allocator!="none"',
355          {
356            'dependencies': [
357              '../base/allocator/allocator.gyp:allocator',
358            ],
359          }
360        ],
361      ],
362      # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
363      'msvs_disabled_warnings': [ 4267, ],
364    },
365    {
366      'target_name': 'cc_test_support',
367      'type': 'static_library',
368      'include_dirs': [
369        'test',
370        '.',
371        '..',
372      ],
373      'dependencies': [
374        '../base/base.gyp:base',
375        '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
376        '../gpu/command_buffer/command_buffer.gyp:gles2_utils',
377        '../gpu/gpu.gyp:gles2_c_lib',
378        '../gpu/gpu.gyp:gles2_implementation',
379        '../gpu/gpu.gyp:gl_in_process_context',
380        '../gpu/gpu.gyp:gpu_unittest_utils',
381        '../gpu/skia_bindings/skia_bindings.gyp:gpu_skia_bindings',
382        '../skia/skia.gyp:skia',
383        '../testing/gmock.gyp:gmock',
384        '../testing/gtest.gyp:gtest',
385        '../third_party/mesa/mesa.gyp:osmesa',
386        '../ui/gfx/gfx.gyp:gfx',
387        '../ui/gfx/gfx.gyp:gfx_geometry',
388        '../ui/gfx/gfx.gyp:gfx_test_support',
389        '../ui/gl/gl.gyp:gl',
390      ],
391      'sources': [
392        '<@(cc_tests_support_files)',
393      ],
394      # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
395      'msvs_disabled_warnings': [ 4267, ],
396    },
397  ],
398  'conditions': [
399    ['OS == "android"',
400      {
401        'targets': [
402          {
403            'target_name': 'cc_unittests_apk',
404            'type': 'none',
405            'dependencies': [
406              'cc_unittests',
407            ],
408            'variables': {
409              'test_suite_name': 'cc_unittests',
410            },
411            'includes': [ '../build/apk_test.gypi' ],
412          },
413          {
414            'target_name': 'cc_perftests_apk',
415            'type': 'none',
416            'dependencies': [
417              'cc_perftests',
418            ],
419            'variables': {
420              'test_suite_name': 'cc_perftests',
421            },
422            'includes': [ '../build/apk_test.gypi' ],
423          },
424        ],
425      }
426    ]
427  ],
428}
429