From 3540c82caeb98c073265317f0a4f8892c348e99a Mon Sep 17 00:00:00 2001 From: "kjellander@webrtc.org" Date: Thu, 22 Aug 2013 07:57:00 +0000 Subject: 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/webrtc@4590 4adac7df-926f-26a2-2b94-8c16560cd09d --- common_audio/common_audio_unittests.isolate | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 common_audio/common_audio_unittests.isolate (limited to 'common_audio/common_audio_unittests.isolate') diff --git a/common_audio/common_audio_unittests.isolate b/common_audio/common_audio_unittests.isolate new file mode 100644 index 00000000..7eedcd7a --- /dev/null +++ b/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)', + ], + }, + }], + ], +} -- cgit v1.2.3