diff --git a/.gitignore b/.gitignore index 7fb825bbbb..7b45f3a772 100644 --- a/.gitignore +++ b/.gitignore @@ -85,6 +85,7 @@ /tools/gyp /tools/protoc_wrapper /tools/python +/tools/swarm_client /tools/valgrind /tools/win /webrtc/supplement.gypi diff --git a/DEPS b/DEPS index eccce43aad..1409c46a98 100644 --- a/DEPS +++ b/DEPS @@ -104,6 +104,9 @@ deps = { "tools/python": Var("chromium_trunk") + "/src/tools/python@" + Var("chromium_revision"), + "tools/swarm_client": + Var("chromium_trunk") + "/tools/swarm_client@" + Var("chromium_revision"), + "tools/valgrind": Var("chromium_trunk") + "/src/tools/valgrind@" + Var("chromium_revision"), diff --git a/PRESUBMIT.py b/PRESUBMIT.py index 16a3bb935e..b8a702fa28 100644 --- a/PRESUBMIT.py +++ b/PRESUBMIT.py @@ -106,7 +106,8 @@ def _CommonChecks(input_api, output_api): r'^tools/protoc_wrapper/.*\.py$', r'^tools/python/.*\.py$', r'^tools/python_charts/data/.*\.py$', - r'^tools/refactoring.*\.py$', + r'^tools/refactoring/.*\.py$', + r'^tools/swarm_client/.*\.py$', # TODO(phoglund): should arguably be checked. r'^tools/valgrind-webrtc/.*\.py$', r'^tools/valgrind/.*\.py$', diff --git a/webrtc/build/common.gypi b/webrtc/build/common.gypi index e8ba842278..baaf7dff41 100644 --- a/webrtc/build/common.gypi +++ b/webrtc/build/common.gypi @@ -25,11 +25,13 @@ 'build_with_libjingle': 1, 'webrtc_root%': '<(DEPTH)/third_party/webrtc', 'apk_tests_path%': '<(DEPTH)/third_party/webrtc/build/apk_tests.gyp', + 'import_isolate_path%': '<(DEPTH)/third_party/webrtc/build/import_isolate_chromium.gyp', 'modules_java_gyp_path%': '<(DEPTH)/third_party/webrtc/modules/modules_java_chromium.gyp', }, { 'build_with_libjingle%': 0, 'webrtc_root%': '<(DEPTH)/webrtc', 'apk_tests_path%': '<(DEPTH)/webrtc/build/apk_test_noop.gyp', + 'import_isolate_path%': '<(DEPTH)/webrtc/build/import_isolate_webrtc.gyp', 'modules_java_gyp_path%': '<(DEPTH)/webrtc/modules/modules_java.gyp', }], ], @@ -38,6 +40,7 @@ 'build_with_libjingle%': '<(build_with_libjingle)', 'webrtc_root%': '<(webrtc_root)', 'apk_tests_path%': '<(apk_tests_path)', + 'import_isolate_path%': '<(import_isolate_path)', 'modules_java_gyp_path%': '<(modules_java_gyp_path)', 'webrtc_vp8_dir%': '<(webrtc_root)/modules/video_coding/codecs/vp8', @@ -48,6 +51,7 @@ 'build_with_libjingle%': '<(build_with_libjingle)', 'webrtc_root%': '<(webrtc_root)', 'apk_tests_path%': '<(apk_tests_path)', + 'import_isolate_path%': '<(import_isolate_path)', 'modules_java_gyp_path%': '<(modules_java_gyp_path)', 'webrtc_vp8_dir%': '<(webrtc_vp8_dir)', 'include_opus%': '<(include_opus)', diff --git a/webrtc/build/import_isolate_chromium.gyp b/webrtc/build/import_isolate_chromium.gyp new file mode 100644 index 0000000000..587f9959dc --- /dev/null +++ b/webrtc/build/import_isolate_chromium.gyp @@ -0,0 +1,22 @@ +# Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. +# +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file in the root of the source +# tree. An additional intellectual property rights grant can be found +# in the file PATENTS. All contributing project authors may +# be found in the AUTHORS file in the root of the source tree. + +# See webrtc/build/import_isolate_webrtc.gyp for information about this file. +{ + 'targets': [ + { + 'target_name': 'import_isolate_gypi', + 'type': 'none', + 'includes': [ + # Relative path to isolate.gypi when WebRTC is built from inside + # Chromium (i.e. the webrtc/ folder is checked out into third_party/). + '../../../build/apk_test.gypi', + ], + }, + ], +} diff --git a/webrtc/build/import_isolate_webrtc.gyp b/webrtc/build/import_isolate_webrtc.gyp new file mode 100644 index 0000000000..b585faebaf --- /dev/null +++ b/webrtc/build/import_isolate_webrtc.gyp @@ -0,0 +1,25 @@ +# Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. +# +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file in the root of the source +# tree. An additional intellectual property rights grant can be found +# in the file PATENTS. All contributing project authors may +# be found in the AUTHORS file in the root of the source tree. + +# This file exists so we can find the isolate.gypi both when WebRTC is built +# stand-alone and when built as a part of Chrome. +# This is needed since GYP does not support evaluating variables in the +# includes sections of a target, so we cannot use <(DEPTH) or <(webrtc_root). +{ + 'targets': [ + { + 'target_name': 'import_isolate_gypi', + 'type': 'none', + 'includes': [ + # Relative path to isolate.gypi when WebRTC built as a stand-alone + # project (i.e. Chromium's build/ folder is checked out into the root). + '../../build/isolate.gypi', + ], + }, + ], +} diff --git a/webrtc/common_audio/common_audio.gyp b/webrtc/common_audio/common_audio.gyp index 7955d23105..7ddf22d58d 100644 --- a/webrtc/common_audio/common_audio.gyp +++ b/webrtc/common_audio/common_audio.gyp @@ -219,7 +219,25 @@ }, ], }], - ] + ['test_isolation_mode != "noop"', { + 'targets': [ + { + 'target_name': 'common_audio_unittests_run', + 'type': 'none', + 'dependencies': [ + '<(import_isolate_path):import_isolate_gypi', + 'common_audio_unittests', + ], + 'includes': [ + 'common_audio_unittests.isolate', + ], + 'sources': [ + 'common_audio_unittests.isolate', + ], + }, + ], + }], + ], }], ], # conditions } diff --git a/webrtc/common_audio/common_audio_unittests.isolate b/webrtc/common_audio/common_audio_unittests.isolate new file mode 100644 index 0000000000..7eedcd7aca --- /dev/null +++ b/webrtc/common_audio/common_audio_unittests.isolate @@ -0,0 +1,27 @@ +# Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. +# +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file in the root of the source +# tree. An additional intellectual property rights grant can be found +# in the file PATENTS. All contributing project authors may +# be found in the AUTHORS file in the root of the source tree. +{ + 'conditions': [ + ['OS=="linux" or OS=="mac" or OS=="win"', { + 'variables': { + 'command': [ + '../../testing/test_env.py', + '../../tools/swarm_client/googletest/run_test_cases.py', + '<(PRODUCT_DIR)/common_audio_unittests<(EXECUTABLE_SUFFIX)', + ], + 'isolate_dependency_tracked': [ + '../../testing/test_env.py', + '../../tools/swarm_client/run_isolated.py', + '../../tools/swarm_client/googletest/run_test_cases.py', + '../../tools/swarm_client/third_party/upload.py', + '<(PRODUCT_DIR)/common_audio_unittests<(EXECUTABLE_SUFFIX)', + ], + }, + }], + ], +} diff --git a/webrtc/common_video/common_video.gyp b/webrtc/common_video/common_video.gyp index 554333ccc4..f92563a927 100644 --- a/webrtc/common_video/common_video.gyp +++ b/webrtc/common_video/common_video.gyp @@ -122,6 +122,24 @@ }, ], }], + ['test_isolation_mode != "noop"', { + 'targets': [ + { + 'target_name': 'common_video_unittests_run', + 'type': 'none', + 'dependencies': [ + '<(import_isolate_path):import_isolate_gypi', + 'common_video_unittests', + ], + 'includes': [ + 'common_video_unittests.isolate', + ], + 'sources': [ + 'common_video_unittests.isolate', + ], + }, + ], + }], ], }], # include_tests ], diff --git a/webrtc/common_video/common_video_unittests.isolate b/webrtc/common_video/common_video_unittests.isolate new file mode 100644 index 0000000000..f173ff7a23 --- /dev/null +++ b/webrtc/common_video/common_video_unittests.isolate @@ -0,0 +1,29 @@ +# Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. +# +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file in the root of the source +# tree. An additional intellectual property rights grant can be found +# in the file PATENTS. All contributing project authors may +# be found in the AUTHORS file in the root of the source tree. +{ + 'conditions': [ + ['OS=="linux" or OS=="mac" or OS=="win"', { + 'variables': { + 'command': [ + '../../testing/test_env.py', + '../../tools/swarm_client/googletest/run_test_cases.py', + '<(PRODUCT_DIR)/common_video_unittests<(EXECUTABLE_SUFFIX)', + ], + 'isolate_dependency_tracked': [ + '../../DEPS', + '../../resources/foreman_cif.yuv', + '../../testing/test_env.py', + '../../tools/swarm_client/googletest/run_test_cases.py', + '../../tools/swarm_client/run_isolated.py', + '../../tools/swarm_client/third_party/upload.py', + '<(PRODUCT_DIR)/common_video_unittests<(EXECUTABLE_SUFFIX)', + ], + }, + }], + ], +} diff --git a/webrtc/modules/audio_coding/neteq/neteq.gypi b/webrtc/modules/audio_coding/neteq/neteq.gypi index 9a460c4f7e..c94f7f8962 100644 --- a/webrtc/modules/audio_coding/neteq/neteq.gypi +++ b/webrtc/modules/audio_coding/neteq/neteq.gypi @@ -231,6 +231,24 @@ }, ], }], + ['test_isolation_mode != "noop"', { + 'targets': [ + { + 'target_name': 'neteq_unittests_run', + 'type': 'none', + 'dependencies': [ + '<(import_isolate_path):import_isolate_gypi', + 'neteq_unittests', + ], + 'includes': [ + 'neteq_unittests.isolate', + ], + 'sources': [ + 'neteq_unittests.isolate', + ], + }, + ], + }], ], }], # include_tests ], # conditions diff --git a/webrtc/modules/audio_coding/neteq/neteq_unittests.isolate b/webrtc/modules/audio_coding/neteq/neteq_unittests.isolate new file mode 100644 index 0000000000..a2c061367a --- /dev/null +++ b/webrtc/modules/audio_coding/neteq/neteq_unittests.isolate @@ -0,0 +1,35 @@ +# Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. +# +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file in the root of the source +# tree. An additional intellectual property rights grant can be found +# in the file PATENTS. All contributing project authors may +# be found in the AUTHORS file in the root of the source tree. +{ + 'conditions': [ + ['OS=="linux" or OS=="mac" or OS=="win"', { + 'variables': { + 'command': [ + '../../../../testing/test_env.py', + '../../../../tools/swarm_client/googletest/run_test_cases.py', + '<(PRODUCT_DIR)/neteq_unittests<(EXECUTABLE_SUFFIX)', + ], + 'isolate_dependency_touched': [ + '../../../../DEPS', + ], + 'isolate_dependency_tracked': [ + '../../../../resources/audio_coding/neteq_network_stats.dat', + '../../../../resources/audio_coding/neteq_rtcp_stats.dat', + '../../../../resources/audio_coding/neteq_universal.rtp', + '../../../../resources/audio_coding/neteq_universal_ref.pcm', + '../../../../resources/audio_coding/testfile32kHz.pcm', + '../../../../testing/test_env.py', + '../../../../tools/swarm_client/run_isolated.py', + '../../../../tools/swarm_client/googletest/run_test_cases.py', + '../../../../tools/swarm_client/third_party/upload.py', + '<(PRODUCT_DIR)/neteq_unittests<(EXECUTABLE_SUFFIX)', + ], + }, + }], + ], +} diff --git a/webrtc/modules/audio_coding/neteq4/audio_decoder_unittests.isolate b/webrtc/modules/audio_coding/neteq4/audio_decoder_unittests.isolate new file mode 100644 index 0000000000..33c4a4b941 --- /dev/null +++ b/webrtc/modules/audio_coding/neteq4/audio_decoder_unittests.isolate @@ -0,0 +1,31 @@ +# Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. +# +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file in the root of the source +# tree. An additional intellectual property rights grant can be found +# in the file PATENTS. All contributing project authors may +# be found in the AUTHORS file in the root of the source tree. +{ + 'conditions': [ + ['OS=="linux" or OS=="mac" or OS=="win"', { + 'variables': { + 'command': [ + '../../../../testing/test_env.py', + '../../../../tools/swarm_client/googletest/run_test_cases.py', + '<(PRODUCT_DIR)/audio_decoder_unittests<(EXECUTABLE_SUFFIX)', + ], + 'isolate_dependency_touched': [ + '../../../../DEPS', + ], + 'isolate_dependency_tracked': [ + '../../../../resources/audio_coding/testfile32kHz.pcm', + '../../../../testing/test_env.py', + '../../../../tools/swarm_client/run_isolated.py', + '../../../../tools/swarm_client/googletest/run_test_cases.py', + '../../../../tools/swarm_client/third_party/upload.py', + '<(PRODUCT_DIR)/audio_decoder_unittests<(EXECUTABLE_SUFFIX)', + ], + }, + }], + ], +} diff --git a/webrtc/modules/audio_coding/neteq4/neteq.gypi b/webrtc/modules/audio_coding/neteq4/neteq.gypi index ad6787c00e..936ab04f3b 100644 --- a/webrtc/modules/audio_coding/neteq4/neteq.gypi +++ b/webrtc/modules/audio_coding/neteq4/neteq.gypi @@ -204,6 +204,24 @@ }, ], }], + ['test_isolation_mode != "noop"', { + 'targets': [ + { + 'target_name': 'audio_decoder_unittests_run', + 'type': 'none', + 'dependencies': [ + '<(import_isolate_path):import_isolate_gypi', + 'audio_decoder_unittests', + ], + 'includes': [ + 'audio_decoder_unittests.isolate', + ], + 'sources': [ + 'audio_decoder_unittests.isolate', + ], + }, + ], + }], ], }], # include_tests ], # conditions diff --git a/webrtc/modules/audio_device/audio_device.gypi b/webrtc/modules/audio_device/audio_device.gypi index 65f35052e2..c3741540c5 100644 --- a/webrtc/modules/audio_device/audio_device.gypi +++ b/webrtc/modules/audio_device/audio_device.gypi @@ -219,8 +219,28 @@ 'test/func_test_manager.h', ], }, + ], # targets + 'conditions': [ + ['test_isolation_mode != "noop"', { + 'targets': [ + { + 'target_name': 'audio_device_tests_run', + 'type': 'none', + 'dependencies': [ + '<(import_isolate_path):import_isolate_gypi', + 'audio_device_tests', + ], + 'includes': [ + 'audio_device_tests.isolate', + ], + 'sources': [ + 'audio_device_tests.isolate', + ], + }, + ], + }], ], - }], + }], # include_tests ], } diff --git a/webrtc/modules/audio_device/audio_device_test_api.isolate b/webrtc/modules/audio_device/audio_device_test_api.isolate new file mode 100644 index 0000000000..ec04929f73 --- /dev/null +++ b/webrtc/modules/audio_device/audio_device_test_api.isolate @@ -0,0 +1,27 @@ +# Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. +# +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file in the root of the source +# tree. An additional intellectual property rights grant can be found +# in the file PATENTS. All contributing project authors may +# be found in the AUTHORS file in the root of the source tree. +{ + 'conditions': [ + ['OS=="linux" or OS=="mac" or OS=="win"', { + 'variables': { + 'command': [ + '../../../testing/test_env.py', + '../../../tools/swarm_client/googletest/run_test_cases.py', + '<(PRODUCT_DIR)/audio_device_test_api<(EXECUTABLE_SUFFIX)', + ], + 'isolate_dependency_tracked': [ + '../../../testing/test_env.py', + '../../../tools/swarm_client/run_isolated.py', + '../../../tools/swarm_client/googletest/run_test_cases.py', + '../../../tools/swarm_client/third_party/upload.py', + '<(PRODUCT_DIR)/audio_device_test_api<(EXECUTABLE_SUFFIX)', + ], + }, + }], + ], +} diff --git a/webrtc/modules/audio_device/audio_device_tests.isolate b/webrtc/modules/audio_device/audio_device_tests.isolate new file mode 100644 index 0000000000..65b1b06cfe --- /dev/null +++ b/webrtc/modules/audio_device/audio_device_tests.isolate @@ -0,0 +1,27 @@ +# Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. +# +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file in the root of the source +# tree. An additional intellectual property rights grant can be found +# in the file PATENTS. All contributing project authors may +# be found in the AUTHORS file in the root of the source tree. +{ + 'conditions': [ + ['OS=="linux" or OS=="mac" or OS=="win"', { + 'variables': { + 'command': [ + '../../../testing/test_env.py', + '../../../tools/swarm_client/googletest/run_test_cases.py', + '<(PRODUCT_DIR)/audio_device_tests<(EXECUTABLE_SUFFIX)', + ], + 'isolate_dependency_tracked': [ + '../../../testing/test_env.py', + '../../../tools/swarm_client/run_isolated.py', + '../../../tools/swarm_client/googletest/run_test_cases.py', + '../../../tools/swarm_client/third_party/upload.py', + '<(PRODUCT_DIR)/audio_device_tests<(EXECUTABLE_SUFFIX)', + ], + }, + }], + ], +} diff --git a/webrtc/modules/modules.gyp b/webrtc/modules/modules.gyp index 34930da0b6..bee2195953 100644 --- a/webrtc/modules/modules.gyp +++ b/webrtc/modules/modules.gyp @@ -335,6 +335,38 @@ }, ], }], + ['test_isolation_mode != "noop"', { + 'targets': [ + { + 'target_name': 'modules_tests_run', + 'type': 'none', + 'dependencies': [ + '<(import_isolate_path):import_isolate_gypi', + 'modules_tests', + ], + 'includes': [ + 'modules_tests.isolate', + ], + 'sources': [ + 'modules_tests.isolate', + ], + }, + { + 'target_name': 'modules_unittests_run', + 'type': 'none', + 'dependencies': [ + '<(import_isolate_path):import_isolate_gypi', + 'modules_unittests', + ], + 'includes': [ + 'modules_unittests.isolate', + ], + 'sources': [ + 'modules_unittests.isolate', + ], + }, + ], + }], ], }], # include_tests ], # conditions diff --git a/webrtc/modules/modules_tests.isolate b/webrtc/modules/modules_tests.isolate new file mode 100644 index 0000000000..36eb446ed9 --- /dev/null +++ b/webrtc/modules/modules_tests.isolate @@ -0,0 +1,32 @@ +# Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. +# +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file in the root of the source +# tree. An additional intellectual property rights grant can be found +# in the file PATENTS. All contributing project authors may +# be found in the AUTHORS file in the root of the source tree. +{ + 'conditions': [ + ['OS=="linux" or OS=="mac" or OS=="win"', { + 'variables': { + 'command': [ + '../../testing/test_env.py', + '../../tools/swarm_client/googletest/run_test_cases.py', + '<(PRODUCT_DIR)/modules_tests<(EXECUTABLE_SUFFIX)', + ], + 'isolate_dependency_tracked': [ + '../../DEPS', + '../../resources/audio_coding/testfile32kHz.pcm', + '../../resources/audio_coding/teststereo32kHz.pcm', + '../../resources/foreman_cif.yuv', + '../../resources/paris_qcif.yuv', + '../../testing/test_env.py', + '../../tools/swarm_client/run_isolated.py', + '../../tools/swarm_client/googletest/run_test_cases.py', + '../../tools/swarm_client/third_party/upload.py', + '<(PRODUCT_DIR)/modules_tests<(EXECUTABLE_SUFFIX)', + ], + }, + }], + ], +} diff --git a/webrtc/modules/modules_unittests.isolate b/webrtc/modules/modules_unittests.isolate index cfe294348c..353c24ef3d 100644 --- a/webrtc/modules/modules_unittests.isolate +++ b/webrtc/modules/modules_unittests.isolate @@ -15,5 +15,43 @@ ], }, }], + ['OS=="linux" or OS=="mac" or OS=="win"', { + 'variables': { + 'command': [ + '../../testing/test_env.py', + '../../tools/swarm_client/googletest/run_test_cases.py', + '<(PRODUCT_DIR)/modules_unittests<(EXECUTABLE_SUFFIX)', + ], + 'isolate_dependency_tracked': [ + '../../data/voice_engine/audio_tiny48.wav', + '../../DEPS', + '../../resources/audio_coding/neteq_network_stats.dat', + '../../resources/audio_coding/neteq_rtcp_stats.dat', + '../../resources/audio_coding/neteq_universal_new.rtp', + '../../resources/audio_coding/neteq_universal_ref.pcm', + '../../resources/audio_coding/testfile32kHz.pcm', + '../../resources/deflicker_before_cif_short.yuv', + '../../resources/far16_stereo.pcm', + '../../resources/far32_stereo.pcm', + '../../resources/far8_stereo.pcm', + '../../resources/foremanColorEnhanced_cif_short.yuv', + '../../resources/foreman_cif.yuv', + '../../resources/foreman_cif_short.yuv', + '../../resources/near16_stereo.pcm', + '../../resources/near32_stereo.pcm', + '../../resources/near8_stereo.pcm', + '../../resources/video_coding/frame-ethernet-ii.pcap', + '../../resources/video_coding/frame-loopback.pcap', + '../../resources/video_coding/pltype103.rtp', + '../../resources/video_coding/ssrcs-2.pcap', + '../../resources/video_coding/ssrcs-3.pcap', + '../../testing/test_env.py', + '../../tools/swarm_client/run_isolated.py', + '../../tools/swarm_client/googletest/run_test_cases.py', + '../../tools/swarm_client/third_party/upload.py', + '<(PRODUCT_DIR)/modules_unittests<(EXECUTABLE_SUFFIX)', + ], + }, + }], ], -} \ No newline at end of file +} diff --git a/webrtc/modules/video_capture/video_capture.gypi b/webrtc/modules/video_capture/video_capture.gypi index cf58295b2c..bbba9bfb40 100644 --- a/webrtc/modules/video_capture/video_capture.gypi +++ b/webrtc/modules/video_capture/video_capture.gypi @@ -196,6 +196,26 @@ }], # OS!="mac" ] # conditions }, + ], # targets + 'conditions': [ + ['test_isolation_mode != "noop"', { + 'targets': [ + { + 'target_name': 'video_capture_tests_run', + 'type': 'none', + 'dependencies': [ + '<(import_isolate_path):import_isolate_gypi', + 'video_capture_tests', + ], + 'includes': [ + 'video_capture_tests.isolate', + ], + 'sources': [ + 'video_capture_tests.isolate', + ], + }, + ], + }], ], }], ], diff --git a/webrtc/modules/video_capture/video_capture_module_test.isolate b/webrtc/modules/video_capture/video_capture_module_test.isolate new file mode 100644 index 0000000000..1c3a4b577e --- /dev/null +++ b/webrtc/modules/video_capture/video_capture_module_test.isolate @@ -0,0 +1,27 @@ +# Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. +# +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file in the root of the source +# tree. An additional intellectual property rights grant can be found +# in the file PATENTS. All contributing project authors may +# be found in the AUTHORS file in the root of the source tree. +{ + 'conditions': [ + ['OS=="linux" or OS=="mac" or OS=="win"', { + 'variables': { + 'command': [ + '../../../testing/test_env.py', + '../../../tools/swarm_client/googletest/run_test_cases.py', + '<(PRODUCT_DIR)/vp8_unittests<(EXECUTABLE_SUFFIX)', + ], + 'isolate_dependency_tracked': [ + '../../../testing/test_env.py', + '../../../tools/swarm_client/run_isolated.py', + '../../../tools/swarm_client/googletest/run_test_cases.py', + '../../../tools/swarm_client/third_party/upload.py', + '<(PRODUCT_DIR)/vp8_unittests<(EXECUTABLE_SUFFIX)', + ], + }, + }], + ], +} diff --git a/webrtc/modules/video_capture/video_capture_tests.isolate b/webrtc/modules/video_capture/video_capture_tests.isolate new file mode 100644 index 0000000000..fd4ed0ef9f --- /dev/null +++ b/webrtc/modules/video_capture/video_capture_tests.isolate @@ -0,0 +1,27 @@ +# Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. +# +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file in the root of the source +# tree. An additional intellectual property rights grant can be found +# in the file PATENTS. All contributing project authors may +# be found in the AUTHORS file in the root of the source tree. +{ + 'conditions': [ + ['OS=="linux" or OS=="mac" or OS=="win"', { + 'variables': { + 'command': [ + '../../../testing/test_env.py', + '../../../tools/swarm_client/googletest/run_test_cases.py', + '<(PRODUCT_DIR)/video_capture_tests<(EXECUTABLE_SUFFIX)', + ], + 'isolate_dependency_tracked': [ + '../../../testing/test_env.py', + '../../../tools/swarm_client/run_isolated.py', + '../../../tools/swarm_client/googletest/run_test_cases.py', + '../../../tools/swarm_client/third_party/upload.py', + '<(PRODUCT_DIR)/video_capture_tests<(EXECUTABLE_SUFFIX)', + ], + }, + }], + ], +} diff --git a/webrtc/modules/video_render/video_render.gypi b/webrtc/modules/video_render/video_render.gypi index 83802c0361..098abc076a 100644 --- a/webrtc/modules/video_render/video_render.gypi +++ b/webrtc/modules/video_render/video_render.gypi @@ -200,6 +200,26 @@ ] # conditions }, # video_render_module_test ], # targets + 'conditions': [ + ['test_isolation_mode != "noop"', { + 'targets': [ + { + 'target_name': 'video_render_tests_run', + 'type': 'none', + 'dependencies': [ + '<(import_isolate_path):import_isolate_gypi', + 'video_render_tests', + ], + 'includes': [ + 'video_render_tests.isolate', + ], + 'sources': [ + 'video_render_tests.isolate', + ], + }, + ], + }], + ], }], # include_tests==0 ], # conditions } diff --git a/webrtc/modules/video_render/video_render_module_test.isolate b/webrtc/modules/video_render/video_render_module_test.isolate new file mode 100644 index 0000000000..6157b6d683 --- /dev/null +++ b/webrtc/modules/video_render/video_render_module_test.isolate @@ -0,0 +1,27 @@ +# Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. +# +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file in the root of the source +# tree. An additional intellectual property rights grant can be found +# in the file PATENTS. All contributing project authors may +# be found in the AUTHORS file in the root of the source tree. +{ + 'conditions': [ + ['OS=="linux" or OS=="mac" or OS=="win"', { + 'variables': { + 'command': [ + '../../../testing/test_env.py', + '../../../tools/swarm_client/googletest/run_test_cases.py', + '<(PRODUCT_DIR)/video_render_module_test<(EXECUTABLE_SUFFIX)', + ], + 'isolate_dependency_tracked': [ + '../../../testing/test_env.py', + '../../../tools/swarm_client/run_isolated.py', + '../../../tools/swarm_client/googletest/run_test_cases.py', + '../../../tools/swarm_client/third_party/upload.py', + '<(PRODUCT_DIR)/video_render_module_test<(EXECUTABLE_SUFFIX)', + ], + }, + }], + ], +} diff --git a/webrtc/modules/video_render/video_render_tests.isolate b/webrtc/modules/video_render/video_render_tests.isolate new file mode 100644 index 0000000000..ffc875d4c2 --- /dev/null +++ b/webrtc/modules/video_render/video_render_tests.isolate @@ -0,0 +1,27 @@ +# Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. +# +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file in the root of the source +# tree. An additional intellectual property rights grant can be found +# in the file PATENTS. All contributing project authors may +# be found in the AUTHORS file in the root of the source tree. +{ + 'conditions': [ + ['OS=="linux" or OS=="mac" or OS=="win"', { + 'variables': { + 'command': [ + '../../../testing/test_env.py', + '../../../tools/swarm_client/googletest/run_test_cases.py', + '<(PRODUCT_DIR)/video_render_tests<(EXECUTABLE_SUFFIX)', + ], + 'isolate_dependency_tracked': [ + '../../../testing/test_env.py', + '../../../tools/swarm_client/run_isolated.py', + '../../../tools/swarm_client/googletest/run_test_cases.py', + '../../../tools/swarm_client/third_party/upload.py', + '<(PRODUCT_DIR)/video_render_tests<(EXECUTABLE_SUFFIX)', + ], + }, + }], + ], +} diff --git a/webrtc/system_wrappers/source/system_wrappers_tests.gyp b/webrtc/system_wrappers/source/system_wrappers_tests.gyp index a24b8745b1..36c47d23bc 100644 --- a/webrtc/system_wrappers/source/system_wrappers_tests.gyp +++ b/webrtc/system_wrappers/source/system_wrappers_tests.gyp @@ -73,6 +73,24 @@ }, ], }], + ['test_isolation_mode != "noop"', { + 'targets': [ + { + 'target_name': 'system_wrappers_unittests_run', + 'type': 'none', + 'dependencies': [ + '<(import_isolate_path):import_isolate_gypi', + 'system_wrappers_unittests', + ], + 'includes': [ + 'system_wrappers_unittests.isolate', + ], + 'sources': [ + 'system_wrappers_unittests.isolate', + ], + }, + ], + }], ], } diff --git a/webrtc/system_wrappers/source/system_wrappers_unittests.isolate b/webrtc/system_wrappers/source/system_wrappers_unittests.isolate new file mode 100644 index 0000000000..84672c771f --- /dev/null +++ b/webrtc/system_wrappers/source/system_wrappers_unittests.isolate @@ -0,0 +1,27 @@ +# Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. +# +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file in the root of the source +# tree. An additional intellectual property rights grant can be found +# in the file PATENTS. All contributing project authors may +# be found in the AUTHORS file in the root of the source tree. + +{ + 'conditions': [ + ['OS=="linux" or OS=="mac" or OS=="win"', { + 'variables': { + 'command': [ + '../../../testing/test_env.py', + '../../../tools/swarm_client/googletest/run_test_cases.py', + '<(PRODUCT_DIR)/system_wrappers_unittests<(EXECUTABLE_SUFFIX)', + ], + 'isolate_dependency_tracked': [ + '../../../testing/test_env.py', + '../../../tools/swarm_client/run_isolated.py', + '../../../tools/swarm_client/googletest/run_test_cases.py', + '<(PRODUCT_DIR)/system_wrappers_unittests<(EXECUTABLE_SUFFIX)', + ], + }, + }], + ], +} diff --git a/webrtc/test/metrics.gyp b/webrtc/test/metrics.gyp index 0f0774a732..3660becfdb 100644 --- a/webrtc/test/metrics.gyp +++ b/webrtc/test/metrics.gyp @@ -52,7 +52,7 @@ }], ], }, - ], + ], # targets 'conditions': [ # TODO(henrike): remove build_with_chromium==1 when the bots are using # Chromium's buildbots. @@ -67,5 +67,23 @@ }, ], }], + ['test_isolation_mode != "noop"', { + 'targets': [ + { + 'target_name': 'metrics_unittests_run', + 'type': 'none', + 'dependencies': [ + '<(import_isolate_path):import_isolate_gypi', + 'metrics_unittests', + ], + 'includes': [ + 'metrics_unittests.isolate', + ], + 'sources': [ + 'metrics_unittests.isolate', + ], + }, + ], + }], ], } diff --git a/webrtc/test/metrics_unittests.isolate b/webrtc/test/metrics_unittests.isolate new file mode 100644 index 0000000000..5254df0167 --- /dev/null +++ b/webrtc/test/metrics_unittests.isolate @@ -0,0 +1,29 @@ +# Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. +# +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file in the root of the source +# tree. An additional intellectual property rights grant can be found +# in the file PATENTS. All contributing project authors may +# be found in the AUTHORS file in the root of the source tree. +{ + 'conditions': [ + ['OS=="linux" or OS=="mac" or OS=="win"', { + 'variables': { + 'command': [ + '../../testing/test_env.py', + '../../tools/swarm_client/googletest/run_test_cases.py', + '<(PRODUCT_DIR)/metrics_unittests<(EXECUTABLE_SUFFIX)', + ], + 'isolate_dependency_tracked': [ + '../../DEPS', + '../../resources/foreman_cif_short.yuv', + '../../testing/test_env.py', + '../../tools/swarm_client/run_isolated.py', + '../../tools/swarm_client/googletest/run_test_cases.py', + '../../tools/swarm_client/third_party/upload.py', + '<(PRODUCT_DIR)/metrics_unittests<(EXECUTABLE_SUFFIX)', + ], + }, + }], + ], +} diff --git a/webrtc/test/test.gyp b/webrtc/test/test.gyp index f49e313bf4..31ba4ea01c 100644 --- a/webrtc/test/test.gyp +++ b/webrtc/test/test.gyp @@ -201,5 +201,23 @@ }, ], }], + ['test_isolation_mode != "noop"', { + 'targets': [ + { + 'target_name': 'test_support_unittests_run', + 'type': 'none', + 'dependencies': [ + '<(import_isolate_path):import_isolate_gypi', + 'test_support_unittests', + ], + 'includes': [ + 'test_support_unittests.isolate', + ], + 'sources': [ + 'test_support_unittests.isolate', + ], + }, + ], + }], ], } diff --git a/webrtc/test/test_support_unittests.isolate b/webrtc/test/test_support_unittests.isolate new file mode 100644 index 0000000000..d60dce40d3 --- /dev/null +++ b/webrtc/test/test_support_unittests.isolate @@ -0,0 +1,28 @@ +# Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. +# +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file in the root of the source +# tree. An additional intellectual property rights grant can be found +# in the file PATENTS. All contributing project authors may +# be found in the AUTHORS file in the root of the source tree. +{ + 'conditions': [ + ['OS=="linux" or OS=="mac" or OS=="win"', { + 'variables': { + 'command': [ + '../../testing/test_env.py', + '../../tools/swarm_client/googletest/run_test_cases.py', + '<(PRODUCT_DIR)/test_support_unittests<(EXECUTABLE_SUFFIX)', + ], + 'isolate_dependency_tracked': [ + '../../DEPS', + '../../testing/test_env.py', + '../../tools/swarm_client/run_isolated.py', + '../../tools/swarm_client/googletest/run_test_cases.py', + '../../tools/swarm_client/third_party/upload.py', + '<(PRODUCT_DIR)/test_support_unittests<(EXECUTABLE_SUFFIX)', + ], + }, + }], + ], +} diff --git a/webrtc/tools/tools.gyp b/webrtc/tools/tools.gyp index b7e6ac0049..04ebd5e1b1 100644 --- a/webrtc/tools/tools.gyp +++ b/webrtc/tools/tools.gyp @@ -150,6 +150,24 @@ }, ], }], + ['test_isolation_mode != "noop"', { + 'targets': [ + { + 'target_name': 'tools_unittests_run', + 'type': 'none', + 'dependencies': [ + '<(import_isolate_path):import_isolate_gypi', + 'tools_unittests', + ], + 'includes': [ + 'tools_unittests.isolate', + ], + 'sources': [ + 'tools_unittests.isolate', + ], + }, + ], + }], ], }], # include_tests ], # conditions diff --git a/webrtc/tools/tools_unittests.isolate b/webrtc/tools/tools_unittests.isolate new file mode 100644 index 0000000000..60c2231f61 --- /dev/null +++ b/webrtc/tools/tools_unittests.isolate @@ -0,0 +1,29 @@ +# Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. +# +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file in the root of the source +# tree. An additional intellectual property rights grant can be found +# in the file PATENTS. All contributing project authors may +# be found in the AUTHORS file in the root of the source tree. +{ + 'conditions': [ + ['OS=="linux" or OS=="mac" or OS=="win"', { + 'variables': { + 'command': [ + '../../testing/test_env.py', + '../../tools/swarm_client/googletest/run_test_cases.py', + '<(PRODUCT_DIR)/tools_unittests<(EXECUTABLE_SUFFIX)', + ], + 'isolate_dependency_tracked': [ + '../../DEPS', + '../../resources/foreman_cif.yuv', + '../../testing/test_env.py', + '../../tools/swarm_client/run_isolated.py', + '../../tools/swarm_client/googletest/run_test_cases.py', + '../../tools/swarm_client/third_party/upload.py', + '<(PRODUCT_DIR)/tools_unittests<(EXECUTABLE_SUFFIX)', + ], + }, + }], + ], +} diff --git a/webrtc/video_engine/test/auto_test/vie_auto_test.gypi b/webrtc/video_engine/test/auto_test/vie_auto_test.gypi index 06b70b277f..1c226b8491 100644 --- a/webrtc/video_engine/test/auto_test/vie_auto_test.gypi +++ b/webrtc/video_engine/test/auto_test/vie_auto_test.gypi @@ -126,4 +126,24 @@ ], }, ], + 'conditions': [ + ['test_isolation_mode != "noop"', { + 'targets': [ + { + 'target_name': 'vie_auto_test_run', + 'type': 'none', + 'dependencies': [ + '<(import_isolate_path):import_isolate_gypi', + 'vie_auto_test', + ], + 'includes': [ + 'vie_auto_test.isolate', + ], + 'sources': [ + 'vie_auto_test.isolate', + ], + }, + ], + }], + ], } diff --git a/webrtc/video_engine/test/auto_test/vie_auto_test.isolate b/webrtc/video_engine/test/auto_test/vie_auto_test.isolate new file mode 100644 index 0000000000..fb3b9308d5 --- /dev/null +++ b/webrtc/video_engine/test/auto_test/vie_auto_test.isolate @@ -0,0 +1,30 @@ +# Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. +# +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file in the root of the source +# tree. An additional intellectual property rights grant can be found +# in the file PATENTS. All contributing project authors may +# be found in the AUTHORS file in the root of the source tree. +{ + 'conditions': [ + ['OS=="linux" or OS=="mac" or OS=="win"', { + 'variables': { + 'command': [ + '../../../../testing/test_env.py', + '../../../../tools/swarm_client/googletest/run_test_cases.py', + '<(PRODUCT_DIR)/vie_auto_test<(EXECUTABLE_SUFFIX)', + ], + 'isolate_dependency_touched': [ + '../../../../DEPS', + ], + 'isolate_dependency_tracked': [ + '../../../../testing/test_env.py', + '../../../../tools/swarm_client/run_isolated.py', + '../../../../tools/swarm_client/googletest/run_test_cases.py', + '../../../../tools/swarm_client/third_party/upload.py', + '<(PRODUCT_DIR)/vie_auto_test<(EXECUTABLE_SUFFIX)', + ], + }, + }], + ], +} diff --git a/webrtc/video_engine/video_engine_core.gypi b/webrtc/video_engine/video_engine_core.gypi index 42100dffc1..29849fa8c6 100644 --- a/webrtc/video_engine/video_engine_core.gypi +++ b/webrtc/video_engine/video_engine_core.gypi @@ -182,6 +182,24 @@ }, ], }], + ['test_isolation_mode != "noop"', { + 'targets': [ + { + 'target_name': 'video_engine_core_unittests_run', + 'type': 'none', + 'dependencies': [ + '<(import_isolate_path):import_isolate_gypi', + 'video_engine_core_unittests', + ], + 'includes': [ + 'video_engine_core_unittests.isolate', + ], + 'sources': [ + 'video_engine_core_unittests.isolate', + ], + }, + ], + }], ], }], # include_tests ], # conditions diff --git a/webrtc/video_engine/video_engine_core_unittests.isolate b/webrtc/video_engine/video_engine_core_unittests.isolate new file mode 100644 index 0000000000..28f5151e7e --- /dev/null +++ b/webrtc/video_engine/video_engine_core_unittests.isolate @@ -0,0 +1,27 @@ +# Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. +# +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file in the root of the source +# tree. An additional intellectual property rights grant can be found +# in the file PATENTS. All contributing project authors may +# be found in the AUTHORS file in the root of the source tree. +{ + 'conditions': [ + ['OS=="linux" or OS=="mac" or OS=="win"', { + 'variables': { + 'command': [ + '../../testing/test_env.py', + '../../tools/swarm_client/googletest/run_test_cases.py', + '<(PRODUCT_DIR)/video_engine_core_unittests<(EXECUTABLE_SUFFIX)', + ], + 'isolate_dependency_tracked': [ + '../../testing/test_env.py', + '../../tools/swarm_client/run_isolated.py', + '../../tools/swarm_client/googletest/run_test_cases.py', + '../../tools/swarm_client/third_party/upload.py', + '<(PRODUCT_DIR)/video_engine_core_unittests<(EXECUTABLE_SUFFIX)', + ], + }, + }], + ], +} diff --git a/webrtc/voice_engine/voe_auto_test.isolate b/webrtc/voice_engine/voe_auto_test.isolate new file mode 100644 index 0000000000..465ec1a0f4 --- /dev/null +++ b/webrtc/voice_engine/voe_auto_test.isolate @@ -0,0 +1,27 @@ +# Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. +# +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file in the root of the source +# tree. An additional intellectual property rights grant can be found +# in the file PATENTS. All contributing project authors may +# be found in the AUTHORS file in the root of the source tree. +{ + 'conditions': [ + ['OS=="linux" or OS=="mac" or OS=="win"', { + 'variables': { + 'command': [ + '../../testing/test_env.py', + '../../tools/swarm_client/googletest/run_test_cases.py', + '<(PRODUCT_DIR)/voe_auto_test<(EXECUTABLE_SUFFIX)', + ], + 'isolate_dependency_tracked': [ + '../../testing/test_env.py', + '../../tools/swarm_client/run_isolated.py', + '../../tools/swarm_client/googletest/run_test_cases.py', + '../../tools/swarm_client/third_party/upload.py', + '<(PRODUCT_DIR)/voe_auto_test<(EXECUTABLE_SUFFIX)', + ], + }, + }], + ], +} diff --git a/webrtc/voice_engine/voice_engine.gyp b/webrtc/voice_engine/voice_engine.gyp index d228341ea4..035a5751e0 100644 --- a/webrtc/voice_engine/voice_engine.gyp +++ b/webrtc/voice_engine/voice_engine.gyp @@ -320,6 +320,38 @@ }, ], }], + ['test_isolation_mode != "noop"', { + 'targets': [ + { + 'target_name': 'voice_engine_unittests_run', + 'type': 'none', + 'dependencies': [ + '<(import_isolate_path):import_isolate_gypi', + 'voice_engine_unittests', + ], + 'includes': [ + 'voice_engine_unittests.isolate', + ], + 'sources': [ + 'voice_engine_unittests.isolate', + ], + }, + { + 'target_name': 'voe_auto_test_run', + 'type': 'none', + 'dependencies': [ + '<(import_isolate_path):import_isolate_gypi', + 'voe_auto_test', + ], + 'includes': [ + 'voe_auto_test.isolate', + ], + 'sources': [ + 'voe_auto_test.isolate', + ], + }, + ], + }], ], # conditions }], # include_tests ], # conditions diff --git a/webrtc/voice_engine/voice_engine_unittests.isolate b/webrtc/voice_engine/voice_engine_unittests.isolate new file mode 100644 index 0000000000..d90fa3c7ae --- /dev/null +++ b/webrtc/voice_engine/voice_engine_unittests.isolate @@ -0,0 +1,27 @@ +# Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. +# +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file in the root of the source +# tree. An additional intellectual property rights grant can be found +# in the file PATENTS. All contributing project authors may +# be found in the AUTHORS file in the root of the source tree. +{ + 'conditions': [ + ['OS=="linux" or OS=="mac" or OS=="win"', { + 'variables': { + 'command': [ + '../../testing/test_env.py', + '../../tools/swarm_client/googletest/run_test_cases.py', + '<(PRODUCT_DIR)/voice_engine_unittests<(EXECUTABLE_SUFFIX)', + ], + 'isolate_dependency_tracked': [ + '../../testing/test_env.py', + '../../tools/swarm_client/run_isolated.py', + '../../tools/swarm_client/googletest/run_test_cases.py', + '../../tools/swarm_client/third_party/upload.py', + '<(PRODUCT_DIR)/voice_engine_unittests<(EXECUTABLE_SUFFIX)', + ], + }, + }], + ], +}