
As this breaks the FYI bots in http://build.chromium.org/p/chromium.webrtc.fyi/waterfall due to different path to isolate.gypi (which cannot easily be resolved due to limitations in GYP) > 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 TBR=kjellander@webrtc.org Review URL: https://webrtc-codereview.appspot.com/2040004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@4548 4adac7df-926f-26a2-2b94-8c16560cd09d
230 lines
7.7 KiB
Python
230 lines
7.7 KiB
Python
use_relative_paths = True
|
|
|
|
vars = {
|
|
# Override root_dir in your .gclient's custom_vars to specify a custom root
|
|
# folder name.
|
|
"root_dir": "trunk",
|
|
"extra_gyp_flag": "-Dextra_gyp_flag=0",
|
|
|
|
# Use this googlecode_url variable only if there is an internal mirror for it.
|
|
# If you do not know, use the full path while defining your new deps entry.
|
|
"googlecode_url": "http://%s.googlecode.com/svn",
|
|
"chromium_trunk" : "http://src.chromium.org/svn/trunk",
|
|
"chromium_revision": "214260",
|
|
|
|
# A small subset of WebKit is needed for the Android Python test framework.
|
|
"webkit_trunk": "http://src.chromium.org/blink/trunk",
|
|
}
|
|
|
|
# NOTE: Prefer revision numbers to tags for svn deps. Use http rather than
|
|
# https; the latter can cause problems for users behind proxies.
|
|
deps = {
|
|
"../chromium_deps":
|
|
File(Var("chromium_trunk") + "/src/DEPS@" + Var("chromium_revision")),
|
|
|
|
"build":
|
|
Var("chromium_trunk") + "/src/build@" + Var("chromium_revision"),
|
|
|
|
# Needed by common.gypi.
|
|
"google_apis/build":
|
|
Var("chromium_trunk") + "/src/google_apis/build@" + Var("chromium_revision"),
|
|
|
|
"testing":
|
|
Var("chromium_trunk") + "/src/testing@" + Var("chromium_revision"),
|
|
|
|
"testing/gmock":
|
|
From("chromium_deps", "src/testing/gmock"),
|
|
|
|
"testing/gtest":
|
|
From("chromium_deps", "src/testing/gtest"),
|
|
|
|
"third_party/expat":
|
|
Var("chromium_trunk") + "/src/third_party/expat@" + Var("chromium_revision"),
|
|
|
|
"third_party/google-gflags/src":
|
|
(Var("googlecode_url") % "google-gflags") + "/trunk/src@45",
|
|
|
|
"third_party/icu/":
|
|
From("chromium_deps", "src/third_party/icu"),
|
|
|
|
"third_party/jsoncpp/":
|
|
Var("chromium_trunk") + "/src/third_party/jsoncpp@" + Var("chromium_revision"),
|
|
|
|
"third_party/jsoncpp/source":
|
|
"http://jsoncpp.svn.sourceforge.net/svnroot/jsoncpp/trunk/jsoncpp@248",
|
|
|
|
"third_party/junit/":
|
|
(Var("googlecode_url") % "webrtc") + "/deps/third_party/junit@3367",
|
|
|
|
"third_party/libjpeg":
|
|
Var("chromium_trunk") + "/src/third_party/libjpeg@" + Var("chromium_revision"),
|
|
|
|
"third_party/libjpeg_turbo":
|
|
From("chromium_deps", "src/third_party/libjpeg_turbo"),
|
|
|
|
"third_party/libsrtp/":
|
|
From("chromium_deps", "src/third_party/libsrtp"),
|
|
|
|
"third_party/libvpx":
|
|
Var("chromium_trunk") + "/deps/third_party/libvpx@212975",
|
|
|
|
"third_party/libyuv":
|
|
(Var("googlecode_url") % "libyuv") + "/trunk@723",
|
|
|
|
"third_party/opus":
|
|
Var("chromium_trunk") + "/src/third_party/opus@185405",
|
|
|
|
"third_party/opus/src":
|
|
Var("chromium_trunk") + "/deps/third_party/opus@185324",
|
|
|
|
"third_party/protobuf":
|
|
Var("chromium_trunk") + "/src/third_party/protobuf@" + Var("chromium_revision"),
|
|
|
|
"third_party/sqlite/":
|
|
Var("chromium_trunk") + "/src/third_party/sqlite@" + Var("chromium_revision"),
|
|
|
|
"third_party/yasm":
|
|
Var("chromium_trunk") + "/src/third_party/yasm@" + Var("chromium_revision"),
|
|
|
|
"third_party/yasm/source/patched-yasm":
|
|
From("chromium_deps", "src/third_party/yasm/source/patched-yasm"),
|
|
|
|
"tools/clang":
|
|
Var("chromium_trunk") + "/src/tools/clang@" + Var("chromium_revision"),
|
|
|
|
"tools/gyp":
|
|
From("chromium_deps", "src/tools/gyp"),
|
|
|
|
"tools/protoc_wrapper":
|
|
Var("chromium_trunk") + "/src/tools/protoc_wrapper@" + Var("chromium_revision"),
|
|
|
|
"tools/python":
|
|
Var("chromium_trunk") + "/src/tools/python@" + Var("chromium_revision"),
|
|
|
|
"tools/valgrind":
|
|
Var("chromium_trunk") + "/src/tools/valgrind@" + Var("chromium_revision"),
|
|
|
|
# Needed by build/common.gypi.
|
|
"tools/win/supalink":
|
|
Var("chromium_trunk") + "/src/tools/win/supalink@" + Var("chromium_revision"),
|
|
}
|
|
|
|
deps_os = {
|
|
"win": {
|
|
# Use our own, stripped down, version of Cygwin (required by GYP).
|
|
"third_party/cygwin":
|
|
(Var("googlecode_url") % "webrtc") + "/deps/third_party/cygwin@2672",
|
|
|
|
"third_party/winsdk_samples/src":
|
|
(Var("googlecode_url") % "webrtc") + "/deps/third_party/winsdk_samples_v71@3145",
|
|
|
|
# Used by libjpeg-turbo.
|
|
"third_party/yasm/binaries":
|
|
From("chromium_deps", "src/third_party/yasm/binaries"),
|
|
|
|
# NSS, for SSLClientSocketNSS.
|
|
"third_party/nss":
|
|
From("chromium_deps", "src/third_party/nss"),
|
|
},
|
|
|
|
"mac": {
|
|
# NSS, for SSLClientSocketNSS.
|
|
"third_party/nss":
|
|
From("chromium_deps", "src/third_party/nss"),
|
|
|
|
# TODO(fischman): delete this in favor of the copy in "ios" below, once the
|
|
# webrtc iOS bots are fixed to target_os=['ios'] in their .gclient
|
|
# https://code.google.com/p/webrtc/issues/detail?id=2152
|
|
"net/third_party/nss":
|
|
Var("chromium_trunk") + "/src/net/third_party/nss@" + Var("chromium_revision"),
|
|
},
|
|
|
|
"ios": {
|
|
# NSS, for SSLClientSocketNSS.
|
|
"third_party/nss":
|
|
From("chromium_deps", "src/third_party/nss"),
|
|
|
|
"net/third_party/nss":
|
|
Var("chromium_trunk") + "/src/net/third_party/nss@" + Var("chromium_revision"),
|
|
|
|
# class-dump utility to generate header files for undocumented SDKs.
|
|
"testing/iossim/third_party/class-dump":
|
|
From("chromium_deps", "src/testing/iossim/third_party/class-dump"),
|
|
|
|
# Helper for running under the simulator.
|
|
"testing/iossim":
|
|
Var("chromium_trunk") + "/src/testing/iossim@" + Var("chromium_revision"),
|
|
},
|
|
|
|
"unix": {
|
|
"third_party/gold":
|
|
From("chromium_deps", "src/third_party/gold"),
|
|
|
|
"third_party/openssl":
|
|
From("chromium_deps", "src/third_party/openssl"),
|
|
},
|
|
"android": {
|
|
# Precompiled tools needed for Android test execution. Needed since we can't
|
|
# compile them from source in WebRTC since they depend on Chromium's base.
|
|
"tools/android":
|
|
(Var("googlecode_url") % "webrtc") + "/deps/tools/android@4258",
|
|
|
|
"tools/android-dummy-test":
|
|
(Var("googlecode_url") % "webrtc") + "/deps/tools/android-dummy-test@4244",
|
|
|
|
"third_party/android_tools":
|
|
From("chromium_deps", "src/third_party/android_tools"),
|
|
|
|
"third_party/android_testrunner":
|
|
Var("chromium_trunk") + "/src/third_party/android_testrunner@" + Var("chromium_revision"),
|
|
|
|
"third_party/WebKit/Tools/Scripts":
|
|
Var("webkit_trunk") + "/Tools/Scripts@151677",
|
|
|
|
"third_party/openssl":
|
|
From("chromium_deps", "src/third_party/openssl"),
|
|
},
|
|
}
|
|
|
|
hooks = [
|
|
{
|
|
# Create a supplement.gypi file under trunk/webrtc. This file will be picked
|
|
# up by gyp and used to enable the standalone build.
|
|
"pattern": ".",
|
|
"action": ["python", Var("root_dir") + "/tools/create_supplement_gypi.py",
|
|
Var("root_dir") + "/webrtc/supplement.gypi"],
|
|
},
|
|
{
|
|
# Pull clang on mac. If nothing changed, or on non-mac platforms, this takes
|
|
# zero seconds to run. If something changed, it downloads a prebuilt clang.
|
|
"pattern": ".",
|
|
"action": ["python", Var("root_dir") + "/tools/clang/scripts/update.py",
|
|
"--mac-only"],
|
|
},
|
|
{
|
|
# Update the cygwin mount on Windows.
|
|
# This is necessary to get the correct mapping between e.g. /bin and the
|
|
# cygwin path on Windows. Without it we can't run bash scripts in actions.
|
|
# Ideally this should be solved in "pylib/gyp/msvs_emulation.py".
|
|
"pattern": ".",
|
|
"action": ["python", Var("root_dir") + "/build/win/setup_cygwin_mount.py",
|
|
"--win-only"],
|
|
},
|
|
{
|
|
# Download test resources, i.e. video and audio files. If the latest
|
|
# version is already downloaded, this takes zero seconds to run.
|
|
# If a newer version or no current download exists, it will download
|
|
# the resources and extract them.
|
|
"pattern": ".",
|
|
"action": ["python", Var("root_dir") + "/webrtc/tools/update_resources.py"],
|
|
},
|
|
{
|
|
# A change to a .gyp, .gypi, or to GYP itself should run the generator.
|
|
"pattern": ".",
|
|
"action": ["python", Var("root_dir") + "/build/gyp_chromium",
|
|
"--depth=" + Var("root_dir"), Var("root_dir") + "/all.gyp",
|
|
Var("extra_gyp_flag")],
|
|
},
|
|
]
|
|
|