Isolate GYP target and .isolate files for tests

This is a re-land attempt of http://review.webrtc.org/1673004/
It now includes a build/isolate.gypi in WebRTC that includes the same
file as the one that would be included when WebRTC is used in a Chromium
checkout. It is needed since it is not possible to use variables in GYP's
includes sections.

Implemented according to the instructions at
http://www.chromium.org/developers/testing/isolated-testing

Workflow has been like this:
1. create _run GYP target
2. create a stripped down .isolate file
3. export GYP_DEFINES="$GYP_DEFINES test_isolation_mode=check"
4. runhooks
5. compile
6. test if the test would run (i.e. find it's dependencies) without
   actually executing it:
   tools/swarm_client/isolate.py run --isolated out/Release/testname.isolated
7. If failing, run the fix_test_cases.py script like this:
   tools/swarm_client/googletest/fix_test_cases.py --isolated out/Release/testname.isolated

All tests that run on the bots for WebRTC has got _run target
and .isolate file created.

"Normal tests" that run fine on any machine:
* audio_decoder_unittests
* common_audio_unittests
* common_video_unittests
* metrics_unittests
* modules_tests
* modules_unittests
* neteq_unittests
* system_wrappers_unittests
* test_support_unittests
* tools_unittests
* video_engine_core_unittests
* voice_engine_unittests

Tests that requires bare-metal and audio/video devices:
* audio_device_tests
* video_capture_tests

I also added the isolate boilerplate code for the following
tests that are not yet pure gtest binaries (which means they
cannot run isolated yet):
* video_render_tests
* vie_auto_test
* voe_auto_test

TEST=running isolate.py as described above. WebRTC trybots passing. Created a Chromium checkout with third_party/webrtc ToT and this patch applied, passing the runhooks step.
BUG=1916
R=henrike@webrtc.org, tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2056004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4590 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
kjellander@webrtc.org 2013-08-22 07:57:00 +00:00
parent c028ee2bf2
commit 3365422c41
41 changed files with 945 additions and 5 deletions

1
.gitignore vendored
View File

@ -85,6 +85,7 @@
/tools/gyp
/tools/protoc_wrapper
/tools/python
/tools/swarm_client
/tools/valgrind
/tools/win
/webrtc/supplement.gypi

3
DEPS
View File

@ -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"),

View File

@ -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$',

View File

@ -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)',

View File

@ -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',
],
},
],
}

View File

@ -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',
],
},
],
}

View File

@ -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
}

View File

@ -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)',
],
},
}],
],
}

View File

@ -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
],

View File

@ -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)',
],
},
}],
],
}

View File

@ -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

View File

@ -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)',
],
},
}],
],
}

View File

@ -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)',
],
},
}],
],
}

View File

@ -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

View File

@ -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
],
}

View File

@ -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)',
],
},
}],
],
}

View File

@ -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)',
],
},
}],
],
}

View File

@ -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

View File

@ -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)',
],
},
}],
],
}

View File

@ -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)',
],
},
}],
],
}
}

View File

@ -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',
],
},
],
}],
],
}],
],

View File

@ -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)',
],
},
}],
],
}

View File

@ -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)',
],
},
}],
],
}

View File

@ -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
}

View File

@ -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)',
],
},
}],
],
}

View File

@ -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)',
],
},
}],
],
}

View File

@ -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',
],
},
],
}],
],
}

View File

@ -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)',
],
},
}],
],
}

View File

@ -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',
],
},
],
}],
],
}

View File

@ -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)',
],
},
}],
],
}

View File

@ -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',
],
},
],
}],
],
}

View File

@ -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)',
],
},
}],
],
}

View File

@ -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

View File

@ -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)',
],
},
}],
],
}

View File

@ -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',
],
},
],
}],
],
}

View File

@ -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)',
],
},
}],
],
}

View File

@ -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

View File

@ -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)',
],
},
}],
],
}

View File

@ -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)',
],
},
}],
],
}

View File

@ -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

View File

@ -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)',
],
},
}],
],
}