Until we have WebRTC test targets created for Android, this test
makes it possible to move forward for buildbot automation.
TEST=Android NDK buildbot and local execution of:
source build/android/envsetup.sh
gclient runhooks
ninjar -C out/Debug
verified the out/Debug/simple_apk dir exists and has the files.
BUG=1882
R=henrika@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1688005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4245 4adac7df-926f-26a2-2b94-8c16560cd09d
The md5sum and forwarder2 binaries from Chromium's
src/tools/android are needed to be able to run tests using the
test framework launched by build/android/run_tests.py.
Since they depend on Chromium's base, we're using a precompiled
copy for WebRTC's purposes.
Linux works out of the box if Chromium's Android build instructions
at https://code.google.com/p/chromium/wiki/AndroidBuildInstructions
are used. Mac runs into problems earlier in the build toolchain,
but as Mac is not a supported Android development platform in Chrome,
the files will have to be copied manually on that platform for now.
TEST=Synced, built and ran a test APK using run_tests.py.
BUG=1882
R=andrew@webrtc.org, henrike@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1679005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4241 4adac7df-926f-26a2-2b94-8c16560cd09d
Add a build target for the Video demo app for Android that only
exists when OS=='android' during build.
Note that this doesn't solve webrtc:1029, it's more like a workaround
waiting for the complete solution, which is to great a proper GYP target
that doesn't involve an action and an external script.
BUG=1029
TEST=Built successfully with:
source build/android/envsetup.sh
gclient runhooks
ninja -C out/Debug
Also verified the target is not present when OS is not 'android'.
Review URL: https://webrtc-codereview.appspot.com/1286004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3769 4adac7df-926f-26a2-2b94-8c16560cd09d
This CL enables building with Android NDK in the way that Chromium buildbots do it.
== Overview ==
* Add Android dependencies to DEPS (SDK, NDK, Android test runner). This also makes it possible to use Android's build/android/run_tests.py script to execute tests on Android devices.
* Add a Python script to build the WebRTC Video demo for Android using ndk-build and Ant. This is designed as an annotation script for Buildbots but is also fine to run locally.
* Update Android.mk so it works with the compiler output from a build performed by build/android/buildbot/bb_run_bot.py (which is how Chrome buildbots build).
== Syncing Android dependencies ==
To get the dependencies added in DEPS synced out, you must change the last line
of your .gclient file to look like this:
];target_os = ["android"]
That will append another variable to the .gclient file that causes these
dependencies to be synced during gclient sync.
If you want to get additional platform-specific dependencies in the same
checkout, add them to the list too, e.g. target_os = ["android", "unix"].
== Android.mk ==
The fix in Android.mk is needed since Chrome is building using build/android/buildbot/bb_run_bot.py, which only output the libraries into out/Debug. With the change it works for both that and a normal build (which copies the library files from out/Debug/obj.target/subpath to out/Debug anyway as a part of the build).
== svn:ignore ==
NOTICE: Before submitting, the following directories should be added to svn:ignore in third_party to avoid them from being removed and re-synced for every build:
* android_testrunner
* android_tools
* WebKit
This has to be done in a manual SVN commit since it's not possible to include in a git-svn CL (and I don't want to migrate this to a SVN CL).
BUG=none
TEST=local builds
Review URL: https://webrtc-codereview.appspot.com/1024009
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3497 4adac7df-926f-26a2-2b94-8c16560cd09d
- Sync Chrome's DEPS to chromium_deps/, and use the From() keyword
to pull the correct revisions from it, rather than having to manually
enter them.
- This idea is borrowed from the WebKit DEPS:
http://trac.webkit.org/browser/trunk/Source/WebKit/chromium/DEPS
- Fix update.py's DEPS parsing to handle From().
- Roll Chrome 120526:122775.
- Organize the deps alphabetically.
- Sync the in-tree gold linker, which is now required due to a change
in the linker flags.
- Add the new deps to .gitignore.
BUG=
TEST=build on all platforms
Review URL: https://webrtc-codereview.appspot.com/401004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1755 4adac7df-926f-26a2-2b94-8c16560cd09d
The access token is now transferred between the request and track scripts.
Almost completed the implementation, using oauth2.
Initial, incomplete implementation of the permission-request script.
The coverage tracking is broken temporarily, but it can now make OAuth requests.
BUG=
TEST=
Review URL: https://webrtc-codereview.appspot.com/366002
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1530 4adac7df-926f-26a2-2b94-8c16560cd09d
To be able to re-use as much as possible from Chromium's scripts, I've created two customized scripts for running tests:
- webrtc_tests.py: a customized version of chrome_tests.py with WebRTC tests instead.
- webrtc_tests.sh: a customized version of the chrome_tests.sh wrapper script, to launch the above script.
The webrtc_tests.sh script is setting up PYTHONPATH so that tools/valgrind is available for the webrtc_tests.py script.
The webrtc_tests.py script inherits the chrome_tests.py script as much as possible, to minimize maintenance and maximize readability.
Having this mirrored setup of directories, allows us to use the same directory hierarchy for suppression files too. This CL only adds suppression files for memcheck, but we can add files for tsan later easily.
The suppression file is currently empty for Linux. For Mac I copied all the Chromium third-party suppressions. We will need a lot more added for Mac before Valgrind runs becomes usable for that platform.
The platform specific naming of the suppression files are handled automatically when webrtc_tests.sh is used to launch the tests.
Example:
Plain memcheck (default tool): tools/valgrind-webrtc/webrtc_tests.sh -t system_wrappers
Run ThreadSanitizer: tools/valgrind-webrtc/webrtc_tests.sh --tool=tsan -t system_wrappers
Previously mentioned AddressSanitizer requires additional scripts to be added and it not covered in this CL.
BUG=
TEST=
Review URL: http://webrtc-codereview.appspot.com/322010
git-svn-id: http://webrtc.googlecode.com/svn/trunk@1240 4adac7df-926f-26a2-2b94-8c16560cd09d
Separated new-style tests from old-style tests. Abstracted code for reuse.
Fully separated the new automated tests from the old-style tests. We now have old-style tests running in manual mode, old-style tests running in automated mode and new-style tests that uses input files and make actual video comparisons.
Introduced a small "library" of helper functions in order to move a lot
of stuff out of the original base and codec tests, which have been made
dependent on the new "library" (which is a header file and a source
file). The new-style tests also depends on this "library".
The comparison test flags are now required only when the comparison tests actually runs.
Separated comparison tests into its own test since it seems we will be running classic vie_auto_test using a fake video driver on Linux.
Made tbInterfaces follow Google conventions.
Merge branch 'render_to_file' into vivi_driver
Resolution alignment testing is now optional behind a flag.
BUG=
TEST=
Review URL: http://webrtc-codereview.appspot.com/269011
git-svn-id: http://webrtc.googlecode.com/svn/trunk@962 4adac7df-926f-26a2-2b94-8c16560cd09d