1 # Copyright (c) 2014 Google Inc. 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.
11 'target_name': 'cast_base_unittests',
12 'type': '<(gtest_target_type)',
14 'chromecast.gyp:cast_base',
15 'chromecast.gyp:cast_crypto',
16 '../base/base.gyp:run_all_unittests',
17 '../testing/gtest.gyp:gtest',
20 'base/error_codes_unittest.cc',
21 'base/path_utils_unittest.cc',
22 'base/process_utils_unittest.cc',
23 'base/serializers_unittest.cc',
24 'base/system_time_change_notifier_unittest.cc',
25 'crypto/signature_cache_unittest.cc',
30 '<(DEPTH)/testing/android/native_test.gyp:native_test_native_code',
34 }, # end of cast_base_unittests
36 'target_name': 'cast_crash_test_support',
37 'type': '<(component)',
39 'chromecast.gyp:cast_crash',
43 'crash/linux/crash_testing_utils.cc',
44 'crash/linux/crash_testing_utils.h',
46 }, # end of target 'cast_crash_test_support'
48 'target_name': 'cast_crash_unittests',
49 'type': '<(gtest_target_type)',
51 'cast_crash_test_support',
52 'chromecast.gyp:cast_crash',
53 '../base/base.gyp:run_all_unittests',
54 '../testing/gmock.gyp:gmock',
55 '../testing/gtest.gyp:gtest',
61 'crash/cast_crashdump_uploader_unittest.cc',
62 'crash/linux/dummy_minidump_generator_unittest.cc',
63 'crash/linux/dump_info_unittest.cc',
64 'crash/linux/synchronized_minidump_manager_unittest.cc',
65 'crash/linux/minidump_writer_unittest.cc',
70 '<(DEPTH)/testing/android/native_test.gyp:native_test_native_code',
74 }, # end of cast_crash_unittests
76 'target_name': 'cast_tests',
79 'cast_test_generator',
82 ['chromecast_branding!="public"', {
84 'internal/chromecast_internal.gyp:cast_tests_internal',
89 # This target only depends on targets that generate test binaries.
91 'target_name': 'cast_test_generator',
94 'cast_base_unittests',
95 'cast_crash_unittests',
96 '../base/base.gyp:base_unittests',
97 '../content/content_shell_and_tests.gyp:content_unittests',
98 '../crypto/crypto.gyp:crypto_unittests',
99 '../ipc/ipc.gyp:ipc_tests',
100 '../jingle/jingle.gyp:jingle_unittests',
101 '../media/media.gyp:media_unittests',
102 '../media/midi/midi.gyp:midi_unittests',
103 '../net/net.gyp:net_unittests',
104 '../sandbox/sandbox.gyp:sandbox_linux_unittests',
105 '../sql/sql.gyp:sql_unittests',
106 '../sync/sync.gyp:sync_unit_tests',
107 '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidation_unittests',
108 '../ui/base/ui_base_tests.gyp:ui_base_unittests',
109 '../url/url.gyp:url_unittests',
112 ['target_arch=="arm" and OS!="android"', {
115 # Run net_unittests first to avoid random failures due to slow python startup
116 # KeygenHandlerTest.SmokeTest and KeygenHandlerTest.ConcurrencyTest fail due to
117 # readonly certdb (b/8153161)
118 # URLRequestTestHTTP.GetTest_ManyCookies takes roughly 55s to run. Increase
119 # timeout to 90s from 45s to allow it to pass (b/19821476)
120 # ProxyScriptFetcherImplTest.HttpMimeType is flaking (b/19848784)
121 # Running a batch of net_unittests has high overhead. Run tests in batches of 25 to reduce number of batches (b/23156294).
122 'net_unittests --gtest_filter=-KeygenHandlerTest.SmokeTest:KeygenHandlerTest.ConcurrencyTest:ProxyScriptFetcherImplTest.HttpMimeType --test-launcher-timeout=90000 --test-launcher-batch-limit=25',
123 # Disable ProcessMetricsTest.GetNumberOfThreads (b/15610509)
124 # Disable ProcessUtilTest.* (need to define OS_ANDROID)
125 # Disable StackContainer.BufferAlignment (don't support 16-byte alignment)
126 # Disable SystemMetrics2Test.GetSystemMemoryInfo (buffers>0 can't be guaranteed)
127 'base_unittests --gtest_filter=-ProcessMetricsTest.GetNumberOfThreads:ProcessUtilTest.*:StackContainer.BufferAlignment:SystemMetrics2Test.GetSystemMemoryInfo',
128 # DesktopCaptureDeviceTest.*: No capture device on Eureka
129 # Disable PepperGamepadHostTest.WaitForReply (pepper not supported on Eureka)
130 # Disable GpuDataManagerImplPrivateTest.SetGLStrings and
131 # RenderWidgetHostTest.Background because we disable the blacklist to enable WebGL (b/16142554)
132 'content_unittests --gtest_filter=-DOMStorageDatabaseTest.TestCanOpenAndReadWebCoreDatabase:DesktopCaptureDeviceTest.Capture:GamepadProviderTest.PollingAccess:GpuDataManagerImplPrivateTest.SetGLStrings:PepperGamepadHostTest.WaitForReply:RenderWidgetHostTest.Background',
133 # Disable VP9 related tests (b/18593324)
134 # PipelineIntegrationTest.BasicPlayback_MediaSource_VP9_WebM
135 # PipelineIntegrationTest.BasicPlayback_VideoOnly_VP9_WebM
136 # PipelineIntegrationTest.BasicPlayback_VP9*
137 # PipelineIntegrationTest.P444_VP9_WebM
138 # Disable VP8A tests (b/18593324)
139 # PipelineIntegrationTest.BasicPlayback_VP8A*
140 # Disable OpusAudioDecoderTest/AudioDecoderTest.ProduceAudioSamples/0 (unit
141 # test fails when Opus decoder uses fixed-point)
142 # Due to b/16456550, disable the following four test cases:
143 # AudioOutputControllerTest.PlayDivertSwitchDeviceRevertClose
144 # AudioOutputControllerTest.PlaySwitchDeviceClose
145 # AudioStreamHandlerTest.Play
146 # SoundsManagerTest.Play
147 # Disable AudioStreamHandlerTest.ConsecutivePlayRequests (b/16539293)
148 'media_unittests --gtest_filter=-AudioOutputControllerTest.PlayDivertSwitchDeviceRevertClose:AudioOutputControllerTest.PlaySwitchDeviceClose:AudioStreamHandlerTest.Play:AudioStreamHandlerTest.ConsecutivePlayRequests:PipelineIntegrationTest.BasicPlayback_MediaSource_VP9_WebM:PipelineIntegrationTest.BasicPlayback_VideoOnly_VP9_WebM:PipelineIntegrationTest.BasicPlayback_VP9*:PipelineIntegrationTest.P444_VP9_WebM:PipelineIntegrationTest.BasicPlayback_VP8A*:OpusAudioDecoderTest/AudioDecoderTest.ProduceAudioSamples/0:SoundsManagerTest.Play',
149 'sync_unit_tests --gtest_filter=-SyncHttpBridgeTest.*',
150 # DoAppendUTF8Invalid fails because of dcheck_always_on flag in Eng builds
151 'url_unittests --gtest_filter=-URLCanonTest.DoAppendUTF8Invalid',
154 }, { # else "x86" or "android"
157 # Disable PipelineIntegrationTest.BasicPlayback_MediaSource_VP9_WebM (not supported)
158 'media_unittests --gtest_filter=-PipelineIntegrationTest.BasicPlayback_MediaSource_VP9_WebM',
162 ['disable_display==0', {
164 '../gpu/gpu.gyp:gpu_unittests',
169 'cast_shell_unittests',
170 'cast_shell_browser_test',
171 'media/media.gyp:cast_media_unittests',
175 'cast_shell_browser_test --no-sandbox --disable-gpu',
179 ['disable_display==1', {
182 # These are not supported by the backend right now. b/21737919
183 'cast_media_unittests --gtest_filter=-AudioVideoPipelineDeviceTest.VorbisPlayback:AudioVideoPipelineDeviceTest.WebmPlayback',
187 ['enable_plugins==1', {
189 '../ppapi/ppapi_internal.gyp:ppapi_unittests',
193 'includes': ['build/tests/test_list.gypi'],
196 'target_name': 'cast_metrics_test_support',
197 'type': '<(component)',
202 'base/metrics/cast_metrics_test_helper.cc',
203 'base/metrics/cast_metrics_test_helper.h',
205 }, # end of target 'cast_metrics_test_support'
211 'target_name': 'cast_base_unittests_apk',
214 'cast_base_unittests',
217 'test_suite_name': 'cast_base_unittests',
219 'includes': ['../build/apk_test.gypi'],
220 }, # end of target 'cast_base_unittests_apk'
222 'target_name': 'cast_crash_unittests_apk',
225 'cast_crash_unittests',
228 'test_suite_name': 'cast_crash_unittests',
230 'includes': ['../build/apk_test.gypi'],
231 }, # end of target 'cast_crash_unittests_apk'
233 'target_name': 'cast_android_tests',
235 'dependencies': ['cast_android_tests_generator'],
237 ['chromecast_branding!="public"', {
239 'internal/chromecast_internal.gyp:cast_android_tests_internal',
243 }, # end of target 'cast_android_tests',
245 'target_name': 'cast_android_tests_generator',
249 # LayerTreeHost has dozens of separate crashing test cases on Fugu. (b/22512618)
250 'cc_unittests_apk --gtest_filter=*:-LayerTreeHost*',
251 # The following tests all crash on fugu.
252 'gfx_unittests_apk --gtest_filter=*:-FontListTest.Fonts_DeriveWithHeightUpperBound',
253 'media_unittests_apk --gtest_filter=*-AudioInputTest.*:AudioAndroidInputTest*',
257 'cast_base_unittests_apk',
258 'cast_crash_unittests_apk',
259 '../base/base.gyp:base_unittests_apk',
260 '../cc/cc_tests.gyp:cc_unittests_apk',
261 '../ipc/ipc.gyp:ipc_tests_apk',
262 '../media/media.gyp:media_unittests_apk',
263 '../media/midi/midi.gyp:midi_unittests_apk',
264 '../net/net.gyp:net_unittests_apk',
265 # Note(gunsch): crashes 100% on Fugu. b/22489355
266 # '../sandbox/sandbox.gyp:sandbox_linux_jni_unittests_apk',
267 '../sql/sql.gyp:sql_unittests_apk',
268 '../sync/sync.gyp:sync_unit_tests_apk',
269 '../ui/events/events.gyp:events_unittests_apk',
270 '../ui/gfx/gfx_tests.gyp:gfx_unittests_apk',
272 'includes': ['build/tests/test_list.gypi'],
273 }, # end of target 'cast_android_tests_generator'
275 'target_name': 'cast_android_test_lists',
278 'cast_android_tests',
281 'test_generator_py': '<(DEPTH)/chromecast/tools/build/generate_test_lists.py',
282 'test_inputs_dir': '<(SHARED_INTERMEDIATE_DIR)/chromecast/tests',
286 'action_name': 'generate_combined_test_build_list',
287 'message': 'Generating combined test build list',
288 'inputs': ['<(test_generator_py)'],
289 'outputs': ['<(PRODUCT_DIR)/tests/build_test_list_android.txt'],
291 'python', '<(test_generator_py)',
292 '-t', '<(test_inputs_dir)',
293 '-o', '<@(_outputs)',
298 'action_name': 'generate_combined_test_run_list',
299 'message': 'Generating combined test run list',
300 'inputs': ['<(test_generator_py)'],
301 'outputs': ['<(PRODUCT_DIR)/tests/run_test_list.txt'],
303 'python', '<(test_generator_py)',
304 '-t', '<(test_inputs_dir)',
305 '-o', '<@(_outputs)',
315 'target_name': 'cast_shell_test_support',
316 'type': '<(component)',
318 'HAS_OUT_OF_PROC_TEST_RUNNER',
322 '../content/content_shell_and_tests.gyp:content_browser_test_support',
323 '../testing/gtest.gyp:gtest',
324 '../third_party/mojo/mojo_public.gyp:mojo_cpp_bindings',
327 'browser/test/chromecast_browser_test.cc',
328 'browser/test/chromecast_browser_test.h',
329 'browser/test/chromecast_browser_test_runner.cc',
331 }, # end of target 'cast_shell_test_support'
333 'target_name': 'cast_shell_browser_test',
334 'type': '<(gtest_target_type)',
336 'cast_shell_test_support',
337 '../testing/gtest.gyp:gtest',
340 'HAS_OUT_OF_PROC_TEST_RUNNER',
343 'browser/test/chromecast_shell_browser_test.cc',
347 'target_name': 'cast_shell_unittests',
348 'type': '<(gtest_target_type)',
350 'cast_crash_test_support',
351 'chromecast.gyp:cast_crash_client',
352 '../base/base.gyp:run_all_unittests',
353 '../testing/gtest.gyp:gtest',
356 'app/linux/cast_crash_reporter_client_unittest.cc',
358 }, # end of cast_shell_unittests
359 # Builds all tests and the output lists of build/run targets for those tests.
360 # Note: producing a predetermined list of dependent inputs on which to
361 # regenerate this output is difficult with GYP. This file is not
362 # guaranteed to be regenerated outside of a clean build.
364 'target_name': 'cast_test_lists',
370 'test_generator_py': '<(DEPTH)/chromecast/tools/build/generate_test_lists.py',
371 'test_inputs_dir': '<(SHARED_INTERMEDIATE_DIR)/chromecast/tests',
372 'test_additional_options': '--ozone-platform=test'
376 'action_name': 'generate_combined_test_build_list',
377 'message': 'Generating combined test build list',
378 'inputs': ['<(test_generator_py)'],
379 'outputs': ['<(PRODUCT_DIR)/tests/build_test_list.txt'],
381 'python', '<(test_generator_py)',
382 '-t', '<(test_inputs_dir)',
383 '-o', '<@(_outputs)',
388 'action_name': 'generate_combined_test_run_list',
389 'message': 'Generating combined test run list',
390 'inputs': ['<(test_generator_py)'],
391 'outputs': ['<(PRODUCT_DIR)/tests/run_test_list.txt'],
393 'python', '<(test_generator_py)',
394 '-t', '<(test_inputs_dir)',
395 '-o', '<@(_outputs)',
396 '-a', '<(test_additional_options)',
404 ], # end of conditions