Don't crash when SimpleCache index is corrupt.
[chromium-blink-merge.git] / ui / ui_unittests.gypi
blob7735fcc342e1a150e877fdcd882feb33e255d5fd
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': 'ui_test_support',
9       'dependencies': [
10         '../base/base.gyp:base',
11         '../skia/skia.gyp:skia',
12         '../testing/gtest.gyp:gtest',
13       ],
14       'sources': [
15         'base/test/cocoa_test_event_utils.h',
16         'base/test/cocoa_test_event_utils.mm',
17         'base/test/ui_cocoa_test_helper.h',
18         'base/test/ui_cocoa_test_helper.mm',
19         'base/test/ui_controls.h',
20         'base/test/ui_controls_aura.cc',
21         'base/test/ui_controls_gtk.cc',
22         'base/test/ui_controls_internal_win.cc',
23         'base/test/ui_controls_internal_win.h',
24         'base/test/ui_controls_mac.mm',
25         'base/test/ui_controls_win.cc',
26       ],
27       'include_dirs': [
28         '../',
29       ],
30       'conditions': [
31         ['OS!="ios"', {
32           'type': 'static_library',
33           'includes': [ 'base/ime/ime_test_support.gypi' ],
34         }, {  # OS=="ios"
35           # None of the sources in this target are built on iOS, resulting in
36           # link errors when building targets that depend on this target
37           # because the static library isn't found. If this target is changed
38           # to have sources that are built on iOS, the target should be changed
39           # to be of type static_library on all platforms.
40           'type': 'none',
41           # The cocoa files don't apply to iOS.
42           'sources/': [['exclude', 'cocoa']],
43         }],
44         ['chromeos==1', {
45           'dependencies': [
46             '../chromeos/chromeos.gyp:chromeos_test_support_without_gmock',
47             '../skia/skia.gyp:skia',
48           ],
49         }],
50         ['use_aura==1', {
51           'sources!': [
52             'base/test/ui_controls_win.cc',
53           ],
54         }],
55       ],
56     },
57     {
58       'target_name': 'run_ui_unittests',
59       'type': 'static_library',
60       'dependencies': [
61         '../base/base.gyp:base',
62         '../base/base.gyp:test_support_base',
63         'ui',
64       ],
65       'sources': [
66         'test/test_suite.cc',
67         'test/test_suite.h',
68         'test/run_all_unittests.cc',
69       ],
70     },
71     {
72       'target_name': 'ui_unittests',
73       'type': '<(gtest_target_type)',
74       'dependencies': [
75         '../base/base.gyp:base',
76         '../base/base.gyp:test_support_base',
77         '../skia/skia.gyp:skia',
78         '../testing/gmock.gyp:gmock',
79         '../testing/gtest.gyp:gtest',
80         '../third_party/icu/icu.gyp:icui18n',
81         '../third_party/icu/icu.gyp:icuuc',
82         '../third_party/libpng/libpng.gyp:libpng',
83         '../url/url.gyp:url_lib',
84         'base/strings/ui_strings.gyp:ui_strings',
85         'run_ui_unittests',
86         'shell_dialogs',
87         'ui',
88         'ui_resources',
89         'ui_test_support',
90       ],
91       # iOS uses a small subset of ui. common_sources are the only files that
92       # are built on iOS.
93       'common_sources' : [
94         'base/animation/animation_container_unittest.cc',
95         'base/animation/animation_unittest.cc',
96         'base/animation/multi_animation_unittest.cc',
97         'base/animation/slide_animation_unittest.cc',
98         'base/layout_unittest.cc',
99         'base/l10n/l10n_util_mac_unittest.mm',
100         'base/l10n/l10n_util_unittest.cc',
101         'base/l10n/l10n_util_win_unittest.cc',
102         'base/models/tree_node_iterator_unittest.cc',
103         'base/range/range_mac_unittest.mm',
104         'base/range/range_unittest.cc',
105         'base/range/range_win_unittest.cc',
106         'base/resource/data_pack_literal.cc',
107         'base/resource/data_pack_unittest.cc',
108         'base/resource/resource_bundle_unittest.cc',
109         'base/text/text_elider_unittest.cc',
110         'gfx/codec/png_codec_unittest.cc',
111         'gfx/color_utils_unittest.cc',
112         'gfx/display_unittest.cc',
113         'gfx/font_unittest.cc',
114         'gfx/image/image_family_unittest.cc',
115         'gfx/image/image_skia_unittest.cc',
116         'gfx/image/image_unittest.cc',
117         'gfx/image/image_unittest_util.cc',
118         'gfx/image/image_unittest_util.h',
119         'gfx/image/image_unittest_util_ios.mm',
120         'gfx/image/image_unittest_util_mac.mm',
121         'gfx/insets_unittest.cc',
122         'gfx/matrix3_unittest.cc',
123         'gfx/point_unittest.cc',
124         'gfx/point3_unittest.cc',
125         'gfx/quad_unittest.cc',
126         'gfx/rect_unittest.cc',
127         'gfx/safe_integer_conversions_unittest.cc',
128         'gfx/screen_unittest.cc',
129         'gfx/shadow_value_unittest.cc',
130         'gfx/size_unittest.cc',
131         'gfx/skbitmap_operations_unittest.cc',
132         'gfx/text_utils_unittest.cc',
133         'gfx/vector2d_unittest.cc',
134         'gfx/vector3d_unittest.cc',
135       ],
136       'all_sources': [
137         '<@(_common_sources)',
138         'base/accelerators/accelerator_manager_unittest.cc',
139         'base/clipboard/clipboard_unittest.cc',
140         'base/clipboard/custom_data_helper_unittest.cc',
141         'base/cocoa/base_view_unittest.mm',
142         'base/cocoa/cocoa_event_utils_unittest.mm',
143         'base/cocoa/controls/hover_image_menu_button_unittest.mm',
144         'base/cocoa/events_mac_unittest.mm',
145         'base/cocoa/focus_tracker_unittest.mm',
146         'base/cocoa/fullscreen_window_manager_unittest.mm',
147         'base/cocoa/hover_image_button_unittest.mm',
148         'base/cocoa/menu_controller_unittest.mm',
149         'base/cocoa/nsgraphics_context_additions_unittest.mm',
150         'base/cocoa/tracking_area_unittest.mm',
151         'base/events/event_dispatcher_unittest.cc',
152         'base/events/event_unittest.cc',
153         'base/events/key_identifier_conversion_unittest.cc',
154         'base/gtk/gtk_expanded_container_unittest.cc',
155         'base/gtk/gtk_im_context_util_unittest.cc',
156         'base/gtk/menu_label_accelerator_util_unittest.cc',
157         'base/keycodes/usb_keycode_map_unittest.cc',
158         'base/models/list_model_unittest.cc',
159         'base/models/list_selection_model_unittest.cc',
160         'base/models/tree_node_model_unittest.cc',
161         'base/ozone/touch_event_converter_ozone_unittest.cc',
162         'base/test/data/resource.h',
163         'base/text/bytes_formatting_unittest.cc',
164         'base/text/utf16_indexing_unittest.cc',
165         'base/view_prop_unittest.cc',
166         'gfx/blit_unittest.cc',
167         'gfx/break_list_unittest.cc',
168         'gfx/canvas_unittest.cc',
169         'gfx/codec/jpeg_codec_unittest.cc',
170         'gfx/color_analysis_unittest.cc',
171         'gfx/font_list_unittest.cc',
172         'gfx/image/image_mac_unittest.mm',
173         'gfx/image/image_util_unittest.cc',
174         'gfx/platform_font_mac_unittest.mm',
175         'gfx/render_text_unittest.cc',
176         'gfx/transform_util_unittest.cc',
177         'shell_dialogs/select_file_dialog_win_unittest.cc',
178         'webui/web_ui_util_unittest.cc',
179       ],
180       'include_dirs': [
181         '../',
182       ],
183       'conditions': [
184         ['OS!="ios"', {
185           'sources' : ['<@(_all_sources)'],
186           'includes': [
187             'base/ime/ime_unittests.gypi',
188           ],
189         }, {  # OS=="ios"
190           'sources' : [
191             '<@(_common_sources)',
192           ],
193           # The ResourceBundle unittest expects a locale.pak file to exist in
194           # the bundle for English-US. Copy it in from where it was generated
195           # by ui_strings.gyp:ui_unittest_strings.
196           'mac_bundle_resources': [
197             '<(PRODUCT_DIR)/ui_unittests_strings/en.lproj/locale.pak',
198           ],
199         }],
200         ['OS == "win"', {
201           'sources': [
202             'test/ui_unittests.rc',
203             'base/dragdrop/os_exchange_data_win_unittest.cc',
204             'base/win/hwnd_subclass_unittest.cc',
205             'gfx/font_fallback_win_unittest.cc',
206             'gfx/icon_util_unittest.cc',
207             'gfx/platform_font_win_unittest.cc',
208           ],
209           'include_dirs': [
210             '../..',
211             '../third_party/wtl/include',
212           ],
213           'msvs_settings': {
214             'VCLinkerTool': {
215               'DelayLoadDLLs': [
216                 'd2d1.dll',
217                 'd3d10_1.dll',
218               ],
219               'AdditionalDependencies': [
220                 'd2d1.lib',
221                 'd3d10_1.lib',
222               ],
223             },
224           },
225           'link_settings': {
226             'libraries': [
227               '-limm32.lib',
228               '-loleacc.lib',
229             ],
230           },
231           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
232           'msvs_disabled_warnings': [ 4267, ],
233         }],
234         ['OS == "linux" and toolkit_views==1', {
235           'sources': [
236             'base/x/events_x_unittest.cc',
237           ],
238         }],
239         ['OS != "mac" and OS != "ios"', {
240           'sources': [
241             'gfx/transform_unittest.cc',
242             'gfx/interpolated_transform_unittest.cc',
243           ],
244         }],
245         ['OS == "android" and gtest_target_type == "shared_library"', {
246           'dependencies': [
247             '../testing/android/native_test.gyp:native_test_native_code',
248           ],
249         }],
250         ['use_glib == 1 or OS == "ios"', {
251           'dependencies': [
252             'base/strings/ui_strings.gyp:ui_unittest_strings',
253           ],
254         }],
255         ['use_pango == 1', {
256           'dependencies': [
257             '../build/linux/system.gyp:pangocairo',
258           ],
259           'sources': [
260             'gfx/platform_font_pango_unittest.cc',
261           ],
262           'conditions': [
263             ['linux_use_tcmalloc==1', {
264                'dependencies': [
265                  '../base/allocator/allocator.gyp:allocator',
266                ],
267             }],
268             ['toolkit_views==1', {
269               'sources!': [
270                 'browser/ui/gtk/gtk_expanded_container_unittest.cc',
271               ],
272             }],
273           ],
274         }],
275         ['use_x11==1', {
276           'dependencies': [
277             '../tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck',
278           ],
279         }],
280         ['toolkit_uses_gtk == 1', {
281           'sources': [
282             'base/dragdrop/gtk_dnd_util_unittest.cc',
283           ],
284           'dependencies': [
285             '../build/linux/system.gyp:gtk',
286           ],
287         }],
288         ['OS=="android" or OS=="ios"', {
289           'sources!': [
290             'gfx/render_text_unittest.cc',
291           ],
292         }],
293         ['OS!="win" or use_aura==0', {
294           'sources!': [
295             'base/view_prop_unittest.cc',
296           ],
297         }],
298         ['use_aura==1 or toolkit_views==1',  {
299           'sources': [
300             'base/gestures/velocity_calculator_unittest.cc',
301           ],
302         }, {
303           'sources!': [
304             'base/events/event_dispatcher_unittest.cc',
305             'base/events/event_unittest.cc',
306             'base/events/key_identifier_conversion_unittest.cc',
307           ],
308         }],
309         ['use_aura==1', {
310           'sources!': [
311             'base/dialogs/select_file_dialog_win_unittest.cc',
312             'base/dragdrop/os_exchange_data_win_unittest.cc',
313             'gfx/screen_unittest.cc',
314           ],
315         }],
316       ],
317       'target_conditions': [
318         ['OS == "ios"', {
319           'sources/': [
320             # Pull in specific Mac files for iOS (which have been filtered out
321             # by file name rules).
322             ['include', '^base/l10n/l10n_util_mac_unittest\\.mm$'],
323           ],
324         }],
325       ],
326     },
327   ],
328   'conditions': [
329     # Special target to wrap a gtest_target_type==shared_library
330     # ui_unittests into an android apk for execution.
331     # See base.gyp for TODO(jrg)s about this strategy.
332     ['OS == "android" and gtest_target_type == "shared_library"', {
333       'targets': [
334         {
335           'target_name': 'ui_unittests_apk',
336           'type': 'none',
337           'dependencies': [
338             'ui_unittests',
339           ],
340           'variables': {
341             'test_suite_name': 'ui_unittests',
342             'input_shlib_path': '<(SHARED_LIB_DIR)/<(SHARED_LIB_PREFIX)ui_unittests<(SHARED_LIB_SUFFIX)',
343           },
344           'includes': [ '../build/apk_test.gypi' ],
345         },
346       ],
347     }],
348   ],