diff options
author | kjellander@webrtc.org <kjellander@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> | 2013-08-15 10:02:06 +0000 |
---|---|---|
committer | kjellander@webrtc.org <kjellander@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> | 2013-08-15 10:02:06 +0000 |
commit | 298bbdb670f75aa7ad6e92358fbeaf94c6066694 (patch) | |
tree | 1f5f55373311ba9903aa02138b52b1ac165abbb5 /voice_engine | |
parent | fd6d89fe4ab5ff36c8eab9643af74bb7d7193d8c (diff) | |
download | webrtc-298bbdb670f75aa7ad6e92358fbeaf94c6066694.tar.gz |
Isolate GYP target and .isolate files for tests
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/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_integrationtests
* 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_integrationtests
* video_capture_integrationtests
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_integrationtests
* vie_auto_test
* voe_auto_test
TEST=running isolate.py as described above.
BUG=1916
R=tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1673004
git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@4547 4adac7df-926f-26a2-2b94-8c16560cd09d
Diffstat (limited to 'voice_engine')
-rw-r--r-- | voice_engine/voe_auto_test.isolate | 27 | ||||
-rw-r--r-- | voice_engine/voice_engine.gyp | 32 | ||||
-rw-r--r-- | voice_engine/voice_engine_unittests.isolate | 27 |
3 files changed, 86 insertions, 0 deletions
diff --git a/voice_engine/voe_auto_test.isolate b/voice_engine/voe_auto_test.isolate new file mode 100644 index 00000000..465ec1a0 --- /dev/null +++ b/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/voice_engine/voice_engine.gyp b/voice_engine/voice_engine.gyp index 23c57da1..9f137918 100644 --- a/voice_engine/voice_engine.gyp +++ b/voice_engine/voice_engine.gyp @@ -320,6 +320,38 @@ }, ], }], + ['test_isolation_mode != "noop"', { + 'targets': [ + { + 'target_name': 'voice_engine_unittests_run', + 'type': 'none', + 'dependencies': [ + 'voice_engine_unittests', + ], + 'includes': [ + '../../build/isolate.gypi', + 'voice_engine_unittests.isolate', + ], + 'sources': [ + 'voice_engine_unittests.isolate', + ], + }, + { + 'target_name': 'voe_auto_test_run', + 'type': 'none', + 'dependencies': [ + 'voe_auto_test', + ], + 'includes': [ + '../../build/isolate.gypi', + 'voe_auto_test.isolate', + ], + 'sources': [ + 'voe_auto_test.isolate', + ], + }, + ], + }], ], # conditions }], # include_tests ], # conditions diff --git a/voice_engine/voice_engine_unittests.isolate b/voice_engine/voice_engine_unittests.isolate new file mode 100644 index 00000000..d90fa3c7 --- /dev/null +++ b/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)', + ], + }, + }], + ], +} |