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
diff --git a/.gitignore b/.gitignore
index 7fb825b..7b45f3a 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 eccce43..1409c46 100644
--- a/DEPS
+++ b/DEPS
@@ -104,6 +104,9 @@
"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 16a3bb9..b8a702f 100644
--- a/PRESUBMIT.py
+++ b/PRESUBMIT.py
@@ -106,7 +106,8 @@
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 e8ba842..baaf7df 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 0000000..587f995
--- /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 0000000..b585fae
--- /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 7955d23..7ddf22d 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 0000000..7eedcd7
--- /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 554333c..f92563a 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 0000000..f173ff7
--- /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 9a460c4..c94f7f8 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 0000000..a2c0613
--- /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 0000000..33c4a4b
--- /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 ad6787c..936ab04 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 65f3505..c3741540 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 0000000..ec04929
--- /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 0000000..65b1b06
--- /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 34930da..bee2195 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 0000000..36eb446
--- /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 cfe2943..353c24e 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 cf58295..bbba9bf 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 0000000..1c3a4b5
--- /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 0000000..fd4ed0e
--- /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 83802c0..098abc0 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 0000000..6157b6d
--- /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 0000000..ffc875d
--- /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 a24b874..36c47d2 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 0000000..84672c7
--- /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 0f0774a..3660bec 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 0000000..5254df0
--- /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 f49e313..31ba4ea 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 0000000..d60dce4
--- /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 b7e6ac0..04ebd5e 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 0000000..60c2231
--- /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 06b70b2..1c226b8 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 0000000..fb3b930
--- /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 42100df..29849fa 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 0000000..28f5151
--- /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 0000000..465ec1a
--- /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 d228341..035a575 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 0000000..d90fa3c
--- /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)',
+ ],
+ },
+ }],
+ ],
+}