From 3f9288f987787a9b24d2ad45b40dbd75794b2884 Mon Sep 17 00:00:00 2001 From: "kjellander@webrtc.org" Date: Fri, 4 Oct 2013 18:20:38 +0000 Subject: [PATCH] Add APK and isolate target for video_engine_tests Add .isolate file and _run target for video_engine_tests. Move tools/swarm_client to be untracked in all .isolate file, so refactorings in swarm_client doesn't require us updating all our .isolate files (similar to the changes for the Chromium tests done in: https://src.chromium.org/viewvc/chrome?view=rev&revision=218844) Update modules_unittests.isolate with new NetEq4 reference files needed. TEST=trybots passing I also setup a Chromium workspace where I patched third_party/webrtc with the changes in this CL, followed by compiling with the settings described in https://code.google.com/p/webrtc/issues/detail?id=1882#c11 I then verified that the video_engine_tests_apk dir was created in the output folder. BUG=1916,2462 R=andrew@webrtc.org, henrike@webrtc.org Review URL: https://webrtc-codereview.appspot.com/2344007 git-svn-id: http://webrtc.googlecode.com/svn/trunk@4925 4adac7df-926f-26a2-2b94-8c16560cd09d --- webrtc/build/apk_tests.gyp | 16 +++++++- webrtc/build/apk_tests_noop.gyp | 4 ++ .../common_audio_unittests.isolate | 6 +-- .../common_video_unittests.isolate | 6 +-- .../neteq/neteq_unittests.isolate | 6 +-- .../neteq4/audio_decoder_unittests.isolate | 6 +-- .../audio_device/audio_device_tests.isolate | 6 +-- webrtc/modules/modules_tests.isolate | 6 +-- webrtc/modules/modules_unittests.isolate | 11 ++++-- .../video_capture/video_capture_tests.isolate | 6 +-- .../video_render/video_render_tests.isolate | 6 +-- .../source/system_wrappers_unittests.isolate | 7 ++-- webrtc/test/metrics_unittests.isolate | 6 +-- webrtc/test/test_support_unittests.isolate | 6 +-- webrtc/tools/tools_unittests.isolate | 6 +-- .../test/auto_test/vie_auto_test.isolate | 6 +-- webrtc/video_engine/test/tests.gypi | 37 ++++++++++++++++++- .../test/video_engine_tests.isolate | 37 +++++++++++++++++++ .../video_engine_core_unittests.isolate | 6 +-- webrtc/voice_engine/voe_auto_test.isolate | 6 +-- .../voice_engine_unittests.isolate | 6 +-- 21 files changed, 147 insertions(+), 55 deletions(-) create mode 100644 webrtc/video_engine/test/video_engine_tests.isolate diff --git a/webrtc/build/apk_tests.gyp b/webrtc/build/apk_tests.gyp index 33fb7f762f..7c9c903b0c 100644 --- a/webrtc/build/apk_tests.gyp +++ b/webrtc/build/apk_tests.gyp @@ -173,6 +173,20 @@ ], }, { + 'target_name': 'video_engine_tests_apk', + 'type': 'none', + 'variables': { + 'test_suite_name': 'video_engine_tests', + 'input_shlib_path': '<(SHARED_LIB_DIR)/<(SHARED_LIB_PREFIX)video_engine_tests<(SHARED_LIB_SUFFIX)', + }, + 'dependencies': [ + '<(webrtc_root)/video_engine/video_engine.gyp:video_engine_tests', + ], + 'includes': [ + '../../../build/apk_test.gypi', + ], + }, + { 'target_name': 'voice_engine_unittests_apk', 'type': 'none', 'variables': { @@ -185,7 +199,7 @@ 'includes': [ '../../../build/apk_test.gypi', ], - }, + }, ], } diff --git a/webrtc/build/apk_tests_noop.gyp b/webrtc/build/apk_tests_noop.gyp index a86b159b2c..e2d8ffdb69 100644 --- a/webrtc/build/apk_tests_noop.gyp +++ b/webrtc/build/apk_tests_noop.gyp @@ -53,6 +53,10 @@ 'target_name': 'video_engine_core_unittests_apk', 'type': 'none', }, + { + 'target_name': 'video_engine_tests_apk', + 'type': 'none', + }, { 'target_name': 'voice_engine_unittests_apk', 'type': 'none', diff --git a/webrtc/common_audio/common_audio_unittests.isolate b/webrtc/common_audio/common_audio_unittests.isolate index e6b1db6e45..ca4bee6508 100644 --- a/webrtc/common_audio/common_audio_unittests.isolate +++ b/webrtc/common_audio/common_audio_unittests.isolate @@ -26,11 +26,11 @@ ], '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)', ], + 'isolate_dependency_untracked': [ + '../../tools/swarm_client/', + ], }, }], ], diff --git a/webrtc/common_video/common_video_unittests.isolate b/webrtc/common_video/common_video_unittests.isolate index e96645a87c..06d86dc5af 100644 --- a/webrtc/common_video/common_video_unittests.isolate +++ b/webrtc/common_video/common_video_unittests.isolate @@ -28,11 +28,11 @@ '../../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)', ], + 'isolate_dependency_untracked': [ + '../../tools/swarm_client/', + ], }, }], ], diff --git a/webrtc/modules/audio_coding/neteq/neteq_unittests.isolate b/webrtc/modules/audio_coding/neteq/neteq_unittests.isolate index 78d805ccfe..3e540c3ee2 100644 --- a/webrtc/modules/audio_coding/neteq/neteq_unittests.isolate +++ b/webrtc/modules/audio_coding/neteq/neteq_unittests.isolate @@ -34,11 +34,11 @@ '../../../../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)', ], + 'isolate_dependency_untracked': [ + '../../../../tools/swarm_client/', + ], }, }], ], diff --git a/webrtc/modules/audio_coding/neteq4/audio_decoder_unittests.isolate b/webrtc/modules/audio_coding/neteq4/audio_decoder_unittests.isolate index 63177801a7..d2d858c5ad 100644 --- a/webrtc/modules/audio_coding/neteq4/audio_decoder_unittests.isolate +++ b/webrtc/modules/audio_coding/neteq4/audio_decoder_unittests.isolate @@ -30,11 +30,11 @@ '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)', ], + 'isolate_dependency_untracked': [ + '../../../../tools/swarm_client/', + ], }, }], ], diff --git a/webrtc/modules/audio_device/audio_device_tests.isolate b/webrtc/modules/audio_device/audio_device_tests.isolate index 38b397f520..8f336cdb4b 100644 --- a/webrtc/modules/audio_device/audio_device_tests.isolate +++ b/webrtc/modules/audio_device/audio_device_tests.isolate @@ -26,11 +26,11 @@ ], '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)', ], + 'isolate_dependency_untracked': [ + '../../../tools/swarm_client/', + ], }, }], ], diff --git a/webrtc/modules/modules_tests.isolate b/webrtc/modules/modules_tests.isolate index a473720e29..c24ff9c39b 100644 --- a/webrtc/modules/modules_tests.isolate +++ b/webrtc/modules/modules_tests.isolate @@ -31,11 +31,11 @@ '../../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)', ], + 'isolate_dependency_untracked': [ + '../../tools/swarm_client/', + ], }, }], ], diff --git a/webrtc/modules/modules_unittests.isolate b/webrtc/modules/modules_unittests.isolate index 43e659ce09..1187175eae 100644 --- a/webrtc/modules/modules_unittests.isolate +++ b/webrtc/modules/modules_unittests.isolate @@ -25,8 +25,11 @@ '<(PRODUCT_DIR)/modules_unittests<(EXECUTABLE_SUFFIX)', ], 'isolate_dependency_tracked': [ - '../../data/voice_engine/audio_tiny48.wav', '../../DEPS', + '../../data/voice_engine/audio_tiny48.wav', + '../../resources/audio_coding/neteq4_network_stats.dat', + '../../resources/audio_coding/neteq4_rtcp_stats.dat', + '../../resources/audio_coding/neteq4_universal_ref.pcm', '../../resources/audio_coding/neteq_network_stats.dat', '../../resources/audio_coding/neteq_rtcp_stats.dat', '../../resources/audio_coding/neteq_universal_new.rtp', @@ -48,11 +51,11 @@ '../../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)', ], + 'isolate_dependency_untracked': [ + '../../tools/swarm_client/', + ], }, }], ], diff --git a/webrtc/modules/video_capture/video_capture_tests.isolate b/webrtc/modules/video_capture/video_capture_tests.isolate index bafbd8b4c5..d07255f4d9 100644 --- a/webrtc/modules/video_capture/video_capture_tests.isolate +++ b/webrtc/modules/video_capture/video_capture_tests.isolate @@ -26,11 +26,11 @@ ], '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)', ], + 'isolate_dependency_untracked': [ + '../../../tools/swarm_client/', + ], }, }], ], diff --git a/webrtc/modules/video_render/video_render_tests.isolate b/webrtc/modules/video_render/video_render_tests.isolate index bd596be56c..faf03be379 100644 --- a/webrtc/modules/video_render/video_render_tests.isolate +++ b/webrtc/modules/video_render/video_render_tests.isolate @@ -26,11 +26,11 @@ ], '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)', ], + 'isolate_dependency_untracked': [ + '../../../tools/swarm_client/', + ], }, }], ], diff --git a/webrtc/system_wrappers/source/system_wrappers_unittests.isolate b/webrtc/system_wrappers/source/system_wrappers_unittests.isolate index c13ad88656..b03e4b83d4 100644 --- a/webrtc/system_wrappers/source/system_wrappers_unittests.isolate +++ b/webrtc/system_wrappers/source/system_wrappers_unittests.isolate @@ -13,8 +13,8 @@ # of a Chromium checkout, this is one level above the standalone build. 'variables': { 'isolate_dependency_untracked': [ - '../../../../resources/', '../../../../data/', + '../../../../resources/', ], }, }], @@ -27,10 +27,11 @@ ], '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)', ], + 'isolate_dependency_untracked': [ + '../../../tools/swarm_client/', + ], }, }], ], diff --git a/webrtc/test/metrics_unittests.isolate b/webrtc/test/metrics_unittests.isolate index 52287e34da..a9fb1d89b6 100644 --- a/webrtc/test/metrics_unittests.isolate +++ b/webrtc/test/metrics_unittests.isolate @@ -28,11 +28,11 @@ '../../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)', ], + 'isolate_dependency_untracked': [ + '../../tools/swarm_client/', + ], }, }], ], diff --git a/webrtc/test/test_support_unittests.isolate b/webrtc/test/test_support_unittests.isolate index 3384ab8c7a..b885d44731 100644 --- a/webrtc/test/test_support_unittests.isolate +++ b/webrtc/test/test_support_unittests.isolate @@ -27,11 +27,11 @@ '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)', ], + 'isolate_dependency_untracked': [ + '../../tools/swarm_client/', + ], }, }], ], diff --git a/webrtc/tools/tools_unittests.isolate b/webrtc/tools/tools_unittests.isolate index 14bd899559..618c6db19b 100644 --- a/webrtc/tools/tools_unittests.isolate +++ b/webrtc/tools/tools_unittests.isolate @@ -28,11 +28,11 @@ '../../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)', ], + 'isolate_dependency_untracked': [ + '../../tools/swarm_client/', + ], }, }], ], diff --git a/webrtc/video_engine/test/auto_test/vie_auto_test.isolate b/webrtc/video_engine/test/auto_test/vie_auto_test.isolate index 44418bffde..8ce6a15b57 100644 --- a/webrtc/video_engine/test/auto_test/vie_auto_test.isolate +++ b/webrtc/video_engine/test/auto_test/vie_auto_test.isolate @@ -29,11 +29,11 @@ ], '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)', ], + 'isolate_dependency_untracked': [ + '../../tools/swarm_client/', + ], }, }], ], diff --git a/webrtc/video_engine/test/tests.gypi b/webrtc/video_engine/test/tests.gypi index 3a76716354..8b94d568ce 100644 --- a/webrtc/video_engine/test/tests.gypi +++ b/webrtc/video_engine/test/tests.gypi @@ -132,7 +132,7 @@ }, { 'target_name': 'video_engine_tests', - 'type': 'executable', + 'type': '<(gtest_target_type)', 'sources': [ 'call_tests.cc', 'full_stack.cc', @@ -146,5 +146,38 @@ 'video_tests_common', ], }, - ], + ], # targets + 'conditions': [ + # TODO(henrike): remove build_with_chromium==1 when the bots are using + # Chromium's buildbots. + ['build_with_chromium==1 and OS=="android" and gtest_target_type=="shared_library"', { + 'targets': [ + { + 'target_name': 'video_engine_tests_apk_target', + 'type': 'none', + 'dependencies': [ + '<(apk_tests_path):video_engine_tests_apk', + ], + }, + ], + }], + ['test_isolation_mode != "noop"', { + 'targets': [ + { + 'target_name': 'video_engine_tests_run', + 'type': 'none', + 'dependencies': [ + 'video_engine_tests', + ], + 'includes': [ + '../../build/isolate.gypi', + 'video_engine_tests.isolate', + ], + 'sources': [ + 'video_engine_tests.isolate', + ], + }, + ], + }], + ], # conditions } diff --git a/webrtc/video_engine/test/video_engine_tests.isolate b/webrtc/video_engine/test/video_engine_tests.isolate new file mode 100644 index 0000000000..2f22bda772 --- /dev/null +++ b/webrtc/video_engine/test/video_engine_tests.isolate @@ -0,0 +1,37 @@ +# 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=="android"', { + # When doing Android builds, the WebRTC code is put in third_party/webrtc + # of a Chromium checkout, this is one level above the standalone build. + 'variables': { + 'isolate_dependency_untracked': [ + '../../../../data/', + '../../../../resources/', + ], + }, + }], + ['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_tests<(EXECUTABLE_SUFFIX)', + ], + 'isolate_dependency_tracked': [ + '../../../testing/test_env.py', + '<(PRODUCT_DIR)/video_engine_tests<(EXECUTABLE_SUFFIX)', + ], + 'isolate_dependency_untracked': [ + '../../../tools/swarm_client/', + ], + }, + }], + ], +} diff --git a/webrtc/video_engine/video_engine_core_unittests.isolate b/webrtc/video_engine/video_engine_core_unittests.isolate index a82611b91f..717e79c614 100644 --- a/webrtc/video_engine/video_engine_core_unittests.isolate +++ b/webrtc/video_engine/video_engine_core_unittests.isolate @@ -26,11 +26,11 @@ ], '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)', ], + 'isolate_dependency_untracked': [ + '../../tools/swarm_client/', + ], }, }], ], diff --git a/webrtc/voice_engine/voe_auto_test.isolate b/webrtc/voice_engine/voe_auto_test.isolate index 3401e3ffd0..11a3fd57e4 100644 --- a/webrtc/voice_engine/voe_auto_test.isolate +++ b/webrtc/voice_engine/voe_auto_test.isolate @@ -26,11 +26,11 @@ ], '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)', ], + 'isolate_dependency_untracked': [ + '../../tools/swarm_client/', + ], }, }], ], diff --git a/webrtc/voice_engine/voice_engine_unittests.isolate b/webrtc/voice_engine/voice_engine_unittests.isolate index 4c17afa6ff..49d8a3d6cb 100644 --- a/webrtc/voice_engine/voice_engine_unittests.isolate +++ b/webrtc/voice_engine/voice_engine_unittests.isolate @@ -26,11 +26,11 @@ ], '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)', ], + 'isolate_dependency_untracked': [ + '../../tools/swarm_client/', + ], }, }], ],