Reason for revert:
This should be landed after https://codereview.webrtc.org/2791963003.
Original issue's description:
> Revert of Adding PRESUBMIT check on google::protobuf (patchset #2 id:20001 of https://codereview.webrtc.org/2753823003/ )
>
> Reason for revert:
> We have to revert https://codereview.webrtc.org/2747863003 and this CL depends on it.
>
> Original issue's description:
> > Adding PRESUBMIT check on google::protobuf
> >
> > The goal is to avoid direct usage of google::protobuf.
> >
> > It should only be used with a 'using' directive in the header file:
> > //webrtc/base/protobuf_utils.h.
> >
> > BUG=webrtc:7340
> > NOTRY=True
> >
> > Review-Url: https://codereview.webrtc.org/2753823003
> > Cr-Commit-Position: refs/heads/master@{#17467}
> > Committed: dd27055cb7
>
> TBR=kjellander@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=webrtc:7340
>
> Review-Url: https://codereview.webrtc.org/2791583002
> Cr-Commit-Position: refs/heads/master@{#17481}
> Committed: 515dff40b7TBR=kjellander@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:7340
Review-Url: https://codereview.webrtc.org/2792103002
Cr-Commit-Position: refs/heads/master@{#17588}
Previously it was assumed that exactly one device is connected.
Now adb will get an argument with the device ID taken from the runner
script's stdout.
BUG=webrtc:7229
TBR=kjellander@webrtc.org
NOTRY=true
Review-Url: https://codereview.webrtc.org/2783343003
Cr-Commit-Position: refs/heads/master@{#17580}
Reason for revert:
Reland with temporary deprecated API to not break chromium and google3.
Original issue's description:
> Revert of Move video_encoder.h and video_decoder.h to /api and create GN targets for them (patchset #8 id:140001 of https://codereview.webrtc.org/2780943003/ )
>
> Reason for revert:
> Suspect of breaking Chrome FYI bots.
>
> See
> https://build.chromium.org/p/chromium.webrtc.fyi/builders/Mac%20Builder/builds/23065
> https://build.chromium.org/p/chromium.webrtc.fyi/builders/Android%20Builder
>
> Example logs:
> ../../content/renderer/media/gpu/rtc_video_encoder_unittest.cc:18:46: fatal error: third_party/webrtc/video_encoder.h: No such file or directory
> #include "third_party/webrtc/video_encoder.h"
> ^
>
> Original issue's description:
> > Move video_encoder.h and video_decoder.h to /api and create GN targets for them
> >
> > BUG=webrtc:5881
> > # Because PRESUBMIT ignores LINT blacklist for moved files and these
> > # headers have some not easy to resolve issues.
> > NOPRESUBMIT=True
> >
> > Review-Url: https://codereview.webrtc.org/2780943003
> > Cr-Commit-Position: refs/heads/master@{#17511}
> > Committed: c42f540570
>
> TBR=solenberg@webrtc.org,sprang@webrtc.org,ilnik@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5881
>
> Review-Url: https://codereview.webrtc.org/2794033002
> Cr-Commit-Position: refs/heads/master@{#17514}
> Committed: 716d7ac5c1TBR=solenberg@webrtc.org,sprang@webrtc.org,guidou@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5881
Review-Url: https://codereview.webrtc.org/2795163002
Cr-Commit-Position: refs/heads/master@{#17537}
Reason for revert:
Suspect of breaking Chrome FYI bots.
See
https://build.chromium.org/p/chromium.webrtc.fyi/builders/Mac%20Builder/builds/23065https://build.chromium.org/p/chromium.webrtc.fyi/builders/Android%20Builder
Example logs:
../../content/renderer/media/gpu/rtc_video_encoder_unittest.cc:18:46: fatal error: third_party/webrtc/video_encoder.h: No such file or directory
#include "third_party/webrtc/video_encoder.h"
^
Original issue's description:
> Move video_encoder.h and video_decoder.h to /api and create GN targets for them
>
> BUG=webrtc:5881
> # Because PRESUBMIT ignores LINT blacklist for moved files and these
> # headers have some not easy to resolve issues.
> NOPRESUBMIT=True
>
> Review-Url: https://codereview.webrtc.org/2780943003
> Cr-Commit-Position: refs/heads/master@{#17511}
> Committed: c42f540570TBR=solenberg@webrtc.org,sprang@webrtc.org,ilnik@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5881
Review-Url: https://codereview.webrtc.org/2794033002
Cr-Commit-Position: refs/heads/master@{#17514}
BUG=webrtc:5881
# Because PRESUBMIT ignores LINT blacklist for moved files and these
# headers have some not easy to resolve issues.
NOPRESUBMIT=True
Review-Url: https://codereview.webrtc.org/2780943003
Cr-Commit-Position: refs/heads/master@{#17511}
Reason for revert:
We have to revert https://codereview.webrtc.org/2747863003 and this CL depends on it.
Original issue's description:
> Adding PRESUBMIT check on google::protobuf
>
> The goal is to avoid direct usage of google::protobuf.
>
> It should only be used with a 'using' directive in the header file:
> //webrtc/base/protobuf_utils.h.
>
> BUG=webrtc:7340
> NOTRY=True
>
> Review-Url: https://codereview.webrtc.org/2753823003
> Cr-Commit-Position: refs/heads/master@{#17467}
> Committed: dd27055cb7TBR=kjellander@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:7340
Review-Url: https://codereview.webrtc.org/2791583002
Cr-Commit-Position: refs/heads/master@{#17481}
The goal is to avoid direct usage of google::protobuf.
It should only be used with a 'using' directive in the header file:
//webrtc/base/protobuf_utils.h.
BUG=webrtc:7340
NOTRY=True
Review-Url: https://codereview.webrtc.org/2753823003
Cr-Commit-Position: refs/heads/master@{#17467}
This will make it easier for new project members to know what's
causing the error.
BUG=None
NOTRY=True
Review-Url: https://codereview.webrtc.org/2770883004
Cr-Commit-Position: refs/heads/master@{#17358}
This changes the way we pull in dependencies WebRTC shares with
Chromium. The base, build, tools and third_party directories from
Chromium are now synced as Git subtree mirrors in the DEPS file.
All symlinks to directories that were previously created by the
setup_links.py are replaced with proper DEPS entries.
One downside with this solution is that we get a lot of directories
in tools/ and third_party/ that we currently don't use. Going forward
it might be possible to improve this but as long as the BUILD.gn files
are stored in the Chromium repo rather at each dependency's repo,
this will be very cumbersome.
The DEPS file will be kept auto-rolled by the script in
https://chromium.googlesource.com/external/webrtc/+/master/tools-webrtc/autoroller/roll_deps.py
which is periodically executed by a bot.
This change brings back the Google Play Services download for Android,
which displays a license confirmation dialog to the user at the first sync.
By running it as a proper hook instead of inside sync_chromium.py, the
problems with that the interactive prompt gets hidden/stuck should be
fixed (now the behavior is identical to Chromium).
Some measurements on the size savings for a clean, newly created checkout:
Linux: 15GB -> 6.4GB (-8.6GB)
Linux (with Android): 25 GB -> 16 GB (-9GB). 8.4GB of this is Android SDK+NDK.
Mac (with iOS): 14 GB -> 5.6GB (-8.4GB)
Note that for all of the above, 1GB is occupied by the resources/ dir.
BUG=webrtc:5006, webrtc:5578
NOTRY=True
R=agable@chromium.org, henrika@webrtc.org, iannucci@chromium.org
Review-Url: https://codereview.webrtc.org/1414343008 .
Cr-Commit-Position: refs/heads/master@{#15754}
In addition to moving tools/mb -> tools-webrtc/mb, also
move webrtc/build/mb_config.pyl into tools-webrtc/mb
to match the default location better.
Remove Chromium-specific check for 'mb validate' that failed
due to doing this (we never cleaned that when we forked the code).
BUG=webrtc:5006
TBR=ehmaldonado@webrtc.org
NOTRY=True
TESTED=Manually ran:
tools-webrtc/mb/mb.py gen -m client.webrtc -b 'iOS64 Release' --config-file tools-webrtc/mb/mb_config.pyl //out/Release-iphoneos
tools-webrtc/mb/mb.py gen -m client.webrtc -b 'Mac64 Release' --config-file tools-webrtc/mb/mb_config.pyl //out/Release-mac
Review-Url: https://codereview.webrtc.org/2585743002 .
Cr-Commit-Position: refs/heads/master@{#15664}
The WebRTC valgrind wrapper scripts needs to be moved in order to
unlock us from depending on a Chromium checkout.
BUG=webrtc:5006
TBR=ehmaldonado@webrtc.org
NOTRY=True
Review-Url: https://codereview.webrtc.org/2578093002
Cr-Commit-Position: refs/heads/master@{#15662}
This check will throw a PRESUBMIT error if the author or
organization is not present in the AUTHORS file.
E-mail wildcard entries were also added to the organizations
in the AUTHORS file.
BUG=webrtc:6852
NOTRY=True
Review-Url: https://codereview.webrtc.org/2564613002
Cr-Commit-Position: refs/heads/master@{#15591}
This moves some GN check configurations out of .gn to individual targets.
The now checked target is:
"//webrtc/modules/audio_processing/*",
BUG=webrtc:6828
NOTRY=True
R=kjellander@webrtc.org
Review-Url: https://codereview.webrtc.org/2558813003
Cr-Commit-Position: refs/heads/master@{#15475}
The Bazel build format doesn't support having separate
lists of compilation flags for C and C++; it just has a single
copts list for cc_library:
https://bazel.build/versions/master/docs/be/c-cpp.html#cc_binary.copts
This makes it hard to convert our GN targets to Bazel when there are
compiler warnings that aren't supported for C (like -Woverloaded-virtual
being added in bugs.webrtc.org/6653).
The solution for this is to move all .c files to their own targets
and remove C++-only compiler flags during conversion.
New targets:
//webrtc/common_audio:common_audio_c
//webrtc/common_audio:common_audio_neon_c
//webrtc/modules/audio_coding:g711_c
//webrtc/modules/audio_coding:g722_c
//webrtc/modules/audio_coding:ilbc_c
//webrtc/modules/audio_coding:isac_c
//webrtc/modules/audio_coding:isac_fix_c
//webrtc/modules/audio_coding:isac_test_util
//webrtc/modules/audio_coding:pcm16b_c
//webrtc/modules/audio_coding:webrtc_opusj_c
//webrtc/modules/audio_device:mac_portaudio
//webrtc/modules/audio_procssing:audio_processing_c
//webrtc/modules/audio_procssing:audio_processing_neon_c
This CL also adds a PRESUBMIT.py check that will throw an error
if targets are mixing .c and .cc files, to preven this from regressing.
BUG=webrtc:6653
NOTRY=True
Review-Url: https://codereview.webrtc.org/2550563003
Cr-Commit-Position: refs/heads/master@{#15433}
git cl try will then trigger CQ dry run, achieving even better
result, because PRESUBMIT will be run as well.
TBR=tandrii@chromium.org
BUG=663320
NOTRY=True
Review-Url: https://codereview.webrtc.org/2489523003
Cr-Commit-Position: refs/heads/master@{#14976}
Also show a descriptive error message if BUG= field is missing.
BUG=webrtc:6326
NOTRY=True
TESTED=Verified the presubmit error using this very same CL (but with BUG= left empty).
Review-Url: https://codereview.webrtc.org/2322843003
Cr-Commit-Position: refs/heads/master@{#14291}
The previous blacklist would filter out all headers under /webrtc/sdk
and all headers in objc dirs. This adds a filter for files that end in
objc, for example `video_capture_objc.h`.
BUG=
NOTRY=true
R=kjellander@webrtc.org
Review URL: https://codereview.webrtc.org/2317023002 .
Cr-Commit-Position: refs/heads/master@{#14153}
- Check that no target references sources with paths above the GN file location.
- Chcek that no target depends on rtc_base.
BUG=webrtc:6294
NOTRY=True
Review-Url: https://codereview.webrtc.org/2304883002
Cr-Commit-Position: refs/heads/master@{#14046}
This should make it more clear what's supported and what's
only checked due to legacy code. No longer uses the word deprecated
since it may be confusing.
BUG=webrtc:5095
NOTRY=True
Review-Url: https://codereview.webrtc.org/1513483006
Cr-Commit-Position: refs/heads/master@{#13094}
It gives false positives when using the move operator
(confuses them with logical And operators).
See http://crbug.com/464813 for more details.
NOTRY=True
Review URL: https://codereview.webrtc.org/1917223003
Cr-Commit-Position: refs/heads/master@{#12525}
- Places most ObjC code into webrtc/sdk/objc instead.
- New gyp targets to build, strip and export symbols for dylib.
- Removes old script used to generate dylib.
BUG=
Review URL: https://codereview.webrtc.org/1903663002
Cr-Commit-Position: refs/heads/master@{#12524}
While a three-month deprecation period is appropriate for some API
changes, it's too much for others. Change the help text to reflect
this.
Review URL: https://codereview.webrtc.org/1865293002
Cr-Commit-Position: refs/heads/master@{#12280}
The PyLint was unnecessary slow due to some directories
that don't belong to our repo.
TESTED=Passing 'git cl presubmit' on Windows.
NOTRY=True
Review URL: https://codereview.webrtc.org/1858633002
Cr-Commit-Position: refs/heads/master@{#12217}
Now that DeviceManager and DeviceInfo are gone, this code is unused.
BUG=webrtc:5579
Review URL: https://codereview.webrtc.org/1715043002
Cr-Commit-Position: refs/heads/master@{#12040}
This allows other projects to more easily depend on this.
The plan is to move remote_bitrate_estimator and bitrate_controller into this module and reduce the exposed interface to only a simplified version of congestion_controller.h.
No functional changes in this CL.
R=mflodman@webrtc.org, pbos@webrtc.org
Review URL: https://codereview.webrtc.org/1718473002 .
Cr-Commit-Position: refs/heads/master@{#11718}
This CL removes "build/c++11" from the cpplint filters. The same was
changed in "depot_tools" in https://codereview.chromium.org/1573663003/
From the other CL:
-----
The checks are not reliable for Rvalue references, and only are
allowing default/deleted constructors. They are based on the google3
internal rules which do not exactly match our own c++11 rules, and
may diverge more over time.
-----
NOTRY=True
Review URL: https://codereview.webrtc.org/1710293002
Cr-Commit-Position: refs/heads/master@{#11678}
The PRESUBMIT code is basically a stripped-down copy of the code in
Chromium's src/PRESUBMIT.py.
BUG=chromium:498746
TESTED=I verified with 'git cl presubmit' that the existing
error was found. Then I ran it again after fixing it, with
presubmit passing.
NOTRY=True
Review URL: https://codereview.webrtc.org/1682393002
Cr-Commit-Position: refs/heads/master@{#11572}
The webrtc/supplement.gypi contains a source listing of the
suppressions for TSan and LSan, which are located in source files.
It makes the presubmit fail when it's updated, which is confusing.
NOTRY=True
TESTED=Edited webrtc/supplement.gypi and ran "git cl presubmit" without an error.
Review URL: https://codereview.webrtc.org/1649423002
Cr-Commit-Position: refs/heads/master@{#11457}
webrtc/base is used in several places downstream so we need
to be careful when updating it as well. Add it as deprecated
to disencourage new projects starting to depend on it.
BUG=webrtc:5095
NOTRY=True
Review URL: https://codereview.webrtc.org/1497733002
Cr-Commit-Position: refs/heads/master@{#10892}
BUG=webrtc:5095
TESTED=Modified local header file, ensured only one directory matches it's path (since 'webrtc' is in the list).
Also tested that the _VerifyNativeApiHeadersListIsValid works by adding a path that doesn't exist to the list and verified it produces an error.
NOTRY=True
Review URL: https://codereview.webrtc.org/1408783008
Cr-Commit-Position: refs/heads/master@{#10878}
Also changes presubmit script to not run cpplint on objc dirs.
BUG=
Review URL: https://codereview.webrtc.org/1467173006
Cr-Commit-Position: refs/heads/master@{#10815}
Enable cpplint and have it use a whitelist that also checks
in subdirectories.
Move the cpplint check so it runs before the pylint check
since that one always run and increases the time to errors
for cpplint.
Fix all cpplint errors in webrtc/video_engine.
BUG=webrtc:5149
TESTED=Fixed issues reported by:
find webrtc/video_engine -type f -name *.cc -o -name *.h | xargs cpplint.py
followed by 'git cl presubmit'.
R=pbos@chromium.org, phoglund@chromium.orgTBR=pbos@webrtc.org, phoglund@webrtc.org
Review URL: https://codereview.webrtc.org/1481723003 .
Cr-Commit-Position: refs/heads/master@{#10808}
This updates the isolate.gypi copies we have to maintain in our
code repo to Chromium's revision 310ea93.
The changes about generating .isolated.gen.json files are needed
to support running with Swarming (https://www.chromium.org/developers/testing/isolated-testing)
Since isolated testing is now using a new launch script
in tools: isolate_driver.py, that's added to our links
script.
In order to use isolate_driver.py, the .isolate files must be in the
same directory as the test_name_run target is defined, which meant
I had to move around some of the isolate files and targets below
webrtc/modules.
BUG=497757
R=maruel@chromium.orgTBR=henrik.lundin@webrtc.org, mflodman@webrtc.org, niklas.enbom@webrtc.org
TESTED=Clobbered trybots:
git cl try -c --bot=linux_compile_rel --bot=mac_compile_rel --bot=win_compile_rel --bot=android_compile_rel --bot=ios_rel -m tryserver.webrtc
Review URL: https://codereview.webrtc.org/1373513002 .
Cr-Commit-Position: refs/heads/master@{#10081}
Exclude the following files from 80-characters line limit check:
* DEPS
* GN files (.gn and .gni)
* GYP files (.gyp and .gypi)
BUG=webrtc:4794
TESTED=Ran the presubmit check with a modified DEPS and GYP file before this change and verified it failed. Re-ran after these changes and verified it passed. I also tested editing a .cc file to be >80 chars and verified the check found it.
R=andrew@webrtc.org, sergiyb@chromium.org
Review URL: https://codereview.webrtc.org/1323943012 .
Cr-Commit-Position: refs/heads/master@{#9877}
This is the same set of trybots that used to be configured in PRESUBMIT.py
BUG=470518
TBR=
Review URL: https://codereview.webrtc.org/1189583003
Cr-Commit-Position: refs/heads/master@{#9448}
One of the unit tests added in
https://webrtc-codereview.appspot.com/50079004/ is failing
on Windows since os.sep is a backslash on Windows.
The code is based on the contents of the DEPS file rather than
the filesystem, so the right thing is to use '/' instead of os.sep.
The PyLint blacklist also didn't work on Windows, causing it
to process a massive list of files during presubmit.
I also added a bunch of new entries to speed up lint execution on
all platforms.
TESTED=Ran the presubmit with this CL on Windows and Linux.
R=phoglund@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/52029004
Cr-Commit-Position: refs/heads/master@{#9353}
The previous script only looked up the LKGR and generated a
commit message. This CL renames the script and makes it update
the DEPS file, commit locally, upload CL and send tryjobs.
BUG=4688
R=phoglund@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/50079004
Cr-Commit-Position: refs/heads/master@{#9284}
Add pylintrc file based on
https://code.google.com/p/chromium/codesearch#chromium/src/tools/perf/pylintrc
bit tightened up quite a bit (the one in depot_tools is far
more relaxed).
Remove a few excluded directories from pylint check and fixed/
suppressed all warnings generated.
Add GN format check + formatted all GN files using 'gn format'.
Cleanup redundant rules in tools/PRESUBMIT.py
TESTED=Ran 'git cl presubmit -vv', fixed the PyLint violations.
Ran it again with a modification in webrtc/build/webrtc.gni, formatted
all the GN files and ran it again.
R=henrika@webrtc.org, phoglund@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/50069004
Cr-Commit-Position: refs/heads/master@{#9274}
Changes differing from https://webrtc-codereview.appspot.com/37859004:
* I put the include_tests==1 stuff of audio_coding.gypi in its
own audio_coding_tests.gypi file, including the Android and isolate
targets which were incorrectly located in the previous CL
* I moved the bwe utilities in remote_bitrate_estimator.gypi
into include_tests==1 since they depend on test.gyp after I
cleaned up the duplicated inclusion of rtp_file_reader.cc
R=stefan@webrtc.orgTBR=tina.legrand@webrtc.org
TESTED=Passing gyp and compile using:
webrtc/build/gyp_webrtc -Dinclude_tests=1
webrtc/build/gyp_webrtc -Dinclude_tests=0
I also setup a Chromium checkout with my checkout mounted in
third_party/webrtc and ran build/gyp_chromium successfully.
BUG=4185
Review URL: https://webrtc-codereview.appspot.com/33159004
Cr-Commit-Position: refs/heads/master@{#8205}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8205 4adac7df-926f-26a2-2b94-8c16560cd09d
This required to move the AGC tools source files
into webrtc/tools and create a new agc_test_utils target.
Since audio_codec_speed_tests.gypi referenced sources above,
the best approach I could come up with was to add an audio_coding.gypi
file at a higher level and move the targets in there (+ the includes from
modules.gyp which is an improvement IMO).
I also added a PRESUBMIT.py check to prevent new source
entries being added with <(webrtc_root) in the path.
BUG=4185
R=andrew@webrtc.org, tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/37859004
Cr-Commit-Position: refs/heads/master@{#8197}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8197 4adac7df-926f-26a2-2b94-8c16560cd09d
Breaks debug compilation (didn't run all trybots when testing this).
> Update isolate.gypi files + link to isolate_driver.py
>
> This updates the isolate.gypi copies we're forced to
> maintain in our code repo to Chromium revision c264a05.
>
> Since isolated testing is now using a new launch script
> in tools: isolate_driver.py, that is added to our links
> script.
>
> BUG=395700
> TESTED=Ran one of our tests with:
> ninja -C out/Release tools_unittests_run
> tools/isolate_driver.py run --isolated out/Release/tools_unittests.isolated --isolate webrtc/tools/tools_unittests.isolate
>
> R=henrika@webrtc.org, jam@chromium.org
>
> Review URL: https://webrtc-codereview.appspot.com/26649004TBR=kjellander@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/31509004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7328 4adac7df-926f-26a2-2b94-8c16560cd09d
This updates the isolate.gypi copies we're forced to
maintain in our code repo to Chromium revision c264a05.
Since isolated testing is now using a new launch script
in tools: isolate_driver.py, that is added to our links
script.
BUG=395700
TESTED=Ran one of our tests with:
ninja -C out/Release tools_unittests_run
tools/isolate_driver.py run --isolated out/Release/tools_unittests.isolated --isolate webrtc/tools/tools_unittests.isolate
R=henrika@webrtc.org, jam@chromium.org
Review URL: https://webrtc-codereview.appspot.com/26649004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7327 4adac7df-926f-26a2-2b94-8c16560cd09d
Restructure how the Android APK tests are compiled now
that we have a Chromium checkout available (since r6938).
This removes the need of several hacks that were needed when
building these targets from inside a Chromium checkout.
By creating a symlink to Chromium's base we can compile the required
targets. This also removes the need of the previously precompiled
binaries we keep in /deps/tools/android at Google code.
All the user needs to do is to add the target_os = ["android"]
entry to his .gclient as described at
https://code.google.com/p/chromium/wiki/AndroidBuildInstructions
Before committing this CL, the Android APK buildbots will need
to be updated.
This also solves http://crbug.com/402594 since the apply_svn_patch.py
usage will be similar to the other standalone bots.
It also solves http://crbug.com/399297
BUG=chromium:399297, chromium:402594
TESTED=Locally compiled all APK targets by running:
GYP_DEFINES="OS=android include_tests=1 enable_tracing=1" gclient runhooks
ninja -C out/Release
checkdeps
R=henrike@webrtc.org, tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/22149004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7014 4adac7df-926f-26a2-2b94-8c16560cd09d
WebRTC standalone shares a lot of dependencies and build
tools with Chromium. To make the build work, many of the
paths of a Chromium checkout is now emulated by creating
symlinks to files and directories.
All DEPS entries that previously used Var("chromium_trunk")
to reference a Chromium checkout or From("chromium_deps"..)
to reference the Chromium DEPS file are now removed and
replaced by symlink entries in setup_links.py.
The script also handles cleanup of the legacy
Subversion-based dependencies that's needed for the
transition.
Windows: One Windows-specific important change is that
gclient sync|runhooks must now be run from a shell
with Administrator privileges in order to be able to create
symlinks. This also means that Windows XP is no longer
supported.
To transition a previously created checkout:
Run "python setup_links.py --force" to cleanup the old
SVN-based dependencies that have been synced by gclient sync.
For Buildbots, the --force flag is automatically enabled for
their syncs.
BUG=2863, chromium:339647
TEST=Manual testing on Linux, Mac and Windows.
R=andrew@webrtc.org, iannucci@chromium.org, phoglund@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/18379005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6938 4adac7df-926f-26a2-2b94-8c16560cd09d
Add the GN trybots to the default set and also set them
to be the only bots to run if a CL contains only BUILD.gn
changes.
Update Python exclusions in general and fix a few of the lint
warnings.
The ones in python_charts needs to be disabled since those variables
are actually used when passed via vars() to the template.
BUG=None
TEST=git cl presubmit with the following cases:
A CL with two .gyp changes.
A CL with no changes in .gyp* files.
R=niklas.enbom@webrtc.org, phoglund@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/18719004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6834 4adac7df-926f-26a2-2b94-8c16560cd09d
As the new bots building the WebRTC native tests for Android as APKs
and executing them on a device has now proven to be reasonably stable,
it is time to enable them by default for tryjobs.
TEST=several green builds sent from a WebRTC checkout.
BUG=chromium:312827
R=tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/7529004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5440 4adac7df-926f-26a2-2b94-8c16560cd09d
I've done several green builds with these machines, but I suspect
some of the flakiness we still see in the build waterfall may
occur on these ones. Hopefully at least the ones for vie_auto_test
will be ironed out in Q1 as the old Video Engine API becomes deprecated.
TEST=none
BUG=chromium:332726
R=tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/7459004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5414 4adac7df-926f-26a2-2b94-8c16560cd09d
Today, our tryjobs default to run on all trybots since
we don't have any default list configured in PRESUBMIT.py.
Because of this, the --testfilter argument doesn't work
unless you also specify --bot when sending the tryjob.
With this CL, it is possible to use --testfilter without
--bot.
It also gets the benefit of excluding unnecessary bots
when doing platform-specific changes.
Most of the code is copied from Chromium's src/PRESUBMIT.py:
https://code.google.com/p/chromium/codesearch#chromium/src/PRESUBMIT.py&l=1030
TEST=tested submitting a tryjob with git try -t compile.
BUG=none
R=andrew@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2619004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5016 4adac7df-926f-26a2-2b94-8c16560cd09d
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
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/1673004TBR=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
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@4547 4adac7df-926f-26a2-2b94-8c16560cd09d
With this change, only the listed trybots will be the ones that a tryjob
is sent to. This works because there's a check in depot_tools/presubmit_support.py that looks for a function defined with the name 'GetPreferredTrySlaves'.
This makes it possible for us to add new trybots that will not receive jobs by default (only when the --bot flag is specified).
This CL is needed before we add the following try bots:
linux_memcheck
linux_tsan
linux_asan
BUG=none
TEST=submitting jobs to a local try server, with and without the --bot
flag.
Review URL: https://webrtc-codereview.appspot.com/939008
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3031 4adac7df-926f-26a2-2b94-8c16560cd09d
Since Chromium has moved to this policy, we should too.
Code is copied from /depot_tools/presubmit_canned_checks.py but modified for our purpose.
BUG=
TEST=Tested git cl presubmit with a modified .cc file with the 2011 header and one with the 2012.
Review URL: https://webrtc-codereview.appspot.com/770005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@2691 4adac7df-926f-26a2-2b94-8c16560cd09d