Commit Graph

60 Commits

Author SHA1 Message Date
e6e139159f Android: cleanup gtest_target_type conditions.
Ever since crrev.com/133053 OS==android implies:
gtest_target_type=shared_library

Similar to Chromium's crrev.com/271222 where base.gyp's conditions are changed
(which the affected conditions in this cl comes from).

R=henrike@webrtc.org, wu@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/13539004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6332 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-04 20:46:50 +00:00
88fbb2d86b Switch to using base/constructormagic.h and remove system_wrappers/interface/constructor_magic.h.
Same as https://webrtc-codereview.appspot.com/19519004. The issue in
http://chromegw.corp.google.com/i/internal.chromium.webrtc.fyi/builders/Linux...
is solved by this change
http://src.chromium.org/viewvc/chrome/trunk/src/third_party/libjingle/libjing...
(tested locally).

BUG=3380
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/17619005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6218 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-21 21:18:46 +00:00
2fa7f79094 Revert 6202 "Switch to using base/constructormagic.h and remove ..."
> Switch to using base/constructormagic.h and remove system_wrappers/interface/constructor_magic.h.
> 
> BUG=N/A
> R=andrew@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/19519004

TBR=henrike@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/14579007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6210 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-21 11:07:29 +00:00
125ffd709d Switch to using base/constructormagic.h and remove system_wrappers/interface/constructor_magic.h.
BUG=N/A
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/19519004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6202 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-20 15:20:44 +00:00
a36ad6929d Add webrtc field trials API.
From now on it is expected that code linking system_wrappers.gyp:system_wrappers
provides an implementation for field_trial API or links with the default one in
system_wrappers.gyp:field_trial_default.

Note: Since there is no use of webrtc::field_trial API inside webrtc this CL on
itself does not forces the clients to actually define it. It however lays the
API and updates the gyp rules to link with so that it is ready to use.

Tested: Introduced a use of field trial in system wrappers and make sure all
bots were building successfully.

BUG=crbug/367114
R=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/14489004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6147 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-14 12:24:04 +00:00
8f69330310 Replace scoped_array<T> with scoped_ptr<T[]>.
scoped_array is deprecated. This was done using a Chromium clang tool:
http://src.chromium.org/viewvc/chrome/trunk/src/tools/clang/rewrite_scoped_ar...

except for the few not-built-on-Linux files which were updated manually.

TESTED=trybots
BUG=2515
R=niklas.enbom@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/12429004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5985 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-25 23:10:28 +00:00
2c89b5cb27 Make everyone an OWNER for .gyp/.gypi add/delete purposes, non-talk/ edition.
This CL brought to you by:
$ for d in $(for f in $(git ls-files '*gyp' '*gypi'); do dirname $f; done|sort|uniq|grep -v '^\.$'); do echo -e "\n# These are for the common case of adding or renaming files. If you're doing\n# structural changes, please get a review from a reviewer in this file.\nper-file *.gyp=*\nper-file *.gypi=*" >> $d/OWNERS; done
$ for d in $(for f in $(git ls-files '*gyp' '*gypi'); do dirname $f; done|sort|uniq|grep -v '^\.$'); do git add $d/OWNERS; done

(and then removed the talk/ impact)

R=niklas.enbom@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/11969004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5903 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-14 20:08:03 +00:00
e6013bb7be Fix loopback test for case where no constraint is given.
R=stefan@webrtc.org
TBR=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/11619004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5881 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-10 14:21:45 +00:00
0273fa98e0 Add ability to control peer connection constraints for the loopback test.
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/11419005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5879 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-10 09:40:16 +00:00
5a0218c794 Allow loopback tests to do TURN when served from webrtc.googlecode.com.
BUG=3037
R=fischman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/10809004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5801 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-27 19:24:45 +00:00
44eb87e6dd Tool to establish a loopback call via apprtc turn server.
For now the test keeps track of video bandwidth estimation and plots it
using google visualization libraries after the test is concluded.
There is also scripts to run a test and record the tcpdump.

BUG=3037
R=hta@webrtc.org, phoglund@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/9729004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5707 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-17 14:23:22 +00:00
4375e1acbb Add support for YUV4MPEG file reading to tools files. (Minor fix).
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5703 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-14 12:51:02 +00:00
6e2d012b58 Add support for YUV4MPEG file reading to tools files.
This CL adds support for reading .y4m files to the infra in
video_quality_analysis.cc, adding new functions 
ExtractFrameFromYuvFile() and ExtractFrameFromY4mFile(),
instad of the previous ExtractFrameFromI420(). The decision
as to which one to use is taken from the file extension,
if it is .y4m then is considered a YUV4MPEG file, otherwise
is taken as a raw .yuv file.

It also removes the pseudo duplicated function 
GetNextI420Frame(), that is used from psnr_ssim_analyzer.c,
and adds support for y4m files there.

Tested/validated via local compile-run.

YUV4MPEG is a trivial container with a file header
and a per-frame header, see [1]

[1]
http://wiki.multimedia.cx/index.php?title=YUV4MPEG2

BUG=https://code.google.com/p/chromium/issues/detail?id=343504



git-svn-id: http://webrtc.googlecode.com/svn/trunk@5702 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-14 12:45:45 +00:00
cf9d364063 Now printing less output from compare_videos.py.
Alternative solution to the one in
https://codereview.chromium.org/114003006/.

I considered adding a verbose flag, but it needs to be passed through
like 5 functions, so I didn't think it was worth it for a function of
such speculative use.

BUG=chromium:327990
R=kjellander@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/6679004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5347 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-07 17:59:30 +00:00
f9bdbe3619 Roll chromium_revision 232627:238260
This brings us the updated swarming_client
that has moved out from Chromium into a standalone
project.
Because of this, all .isolate files needed to be
updated as well, similar to the changes in
https://codereview.chromium.org/29993003

TEST=trybots passing
BUG=none
R=andrew@webrtc.org, perkj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/4859004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5260 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-11 13:37:12 +00:00
3260f109e3 Made video quality toolchain more configurable.
R=kjellander@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/4139007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5171 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-25 14:10:20 +00:00
4c828e145e Remove update_resources.py as it's no longer used.
After http://review.webrtc.org/2095004/ has been landed
for normal WebRTC builds, and https://codereview.chromium.org/62273004/
and https://codereview.chromium.org/60513012/ for our Android
APK builds with a Chromium checkout, we should be fine to remove
this script.

I have verified that the runhooks step on the Android testers
is using the download_from_google_storage.py script to pull
the resources from Google Storage.

BUG=webrtc:2294
TEST=a few trybots passing compile step.
R=phoglund@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/3579004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5099 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-08 09:08:36 +00:00
e2df8b7f01 Make video quality analysis unittests print to log instead of stdout.
I think it's best to avoid printing these perf numbers since
when we turn on perf measurements for Android, it will be for
all tests as far as I understand it works today.

TEST=trybots passing tools_unittests
BUG=none
R=phoglund@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/3109005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5072 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-03 18:34:51 +00:00
fe5d36b6fe Move RtcpStatistics to webrtc/common_types.h, to be used by vie as well.
We will do some refactoring of video engine and would like to use the
same rtcp stats struct there. Both video and audio seem to use 8bit
fraction lost, so that is changed in the struct as well.

BUG=
R=henrik.lundin@webrtc.org, kjellander@webrtc.org, mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2959004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5039 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-28 09:21:07 +00:00
eb61a851d5 Move audio_e2e_harness into include_tests==1 condition.
To avoid compile errors when WebRTC is built as a part of
Chromium.

TEST=ran gclient runhooks locally.
BUG=none
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2609004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5003 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-21 08:40:56 +00:00
88a310886e Add audio_e2e_test target to tools.gyp
The moving this GYP target out of webrtc.gyp in
https://code.google.com/p/webrtc/source/detail?r=4949
this should have been added into tools.gyp.

TEST=trybots passing
BUG=none
TBR=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2539004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5002 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-19 18:10:04 +00:00
5b3b6b1784 Reorganize GYP targets to make webrtc.gyp more usable.
When WebRTC is built as a part of Chromium, some of
the stuff in webrtc.gyp will not be found. This CL
fixes this.

TEST=trybots passing. I also did some manual builds for Android with the android_builder_webrtc target in build/all_android.gyp of a Chromium checkout.
BUG=chromium:304143
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2353004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4949 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-10 08:48:16 +00:00
3f9288f987 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
2013-10-04 18:20:38 +00:00
2a97317953 Fix include of isolate.gypi
Recent changes in GYP seem to have broken our previous
"hack" for getting the GYP rule for .isolate files
imported from the Chromium build/isolate.gypi.

The best solution for now is to remove the hack
and check in a copy of Chromium's src/build/isolate.gypi
in WebRTC's build/ dir instead. A similar approach is
used for our build/protoc.gypi file.

TEST=On Linux, I successfully ran:
gclient runhooks
ninja -C out/Release
and verified a bunch of .isolated files were created in
out/Release (which didn't happen before this patch).

I also renamed the build/isolate.gypi from Chromium to
ensure that our own is used and not that one (in case any
paths would be incorrect).

I also ran build/gyp_chromium in a Chromium checkout
with WebRTC in third_party/webrtc having this patch applied
to ensure GYP processing was still working.

Finally, I verified that the same project generation and
compilation from a Chromium checkout worked the way we build
our Android native tests, using:
. build/android/envsetup.sh
GYP_DEFINES="$GYP_DEFINES include_tests=1 enable_tracing=1" gclient runhooks
ninja -C out/Release android_builder_webrtc

BUG=1916
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2338004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4907 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-02 19:31:16 +00:00
c0b4c4a3c4 Workaround issue with stdin on Windows.
On Windows, sometimes the compare_videos.py script fails because
the inherited stdin handle from the parent process fails.
It seems we can work around this by passing null to stdin to
the subprocesses, since we're not using it anyway.

The errors looked like this:
Traceback (most recent call last):
  File "C:\b\build\slave\Win7_Tester\build\src\third_party/webrtc/tools/compare_videos.py", line 116, in <module>
    sys.exit(main())
  File "C:\b\build\slave\Win7_Tester\build\src\third_party/webrtc/tools/compare_videos.py", line 91, in main
    barcode_decoder = subprocess.Popen(cmd, stdout=sys.stdout, stderr=sys.stderr)
  File "C:\b\depot_tools\python_bin\lib\subprocess.py", line 588, in __init__
    errread, errwrite) = self._get_handles(stdin, stdout, stderr)
  File "C:\b\depot_tools\python_bin\lib\subprocess.py", line 686, in _get_handles
    p2cread = GetStdHandle(STD_INPUT_HANDLE)
WindowsError: [Error 6] The handle is invalid

Example from http://build.chromium.org/p/chromium.webrtc/builders/Win7%20Tester/builds/4498/steps/webrtc_manual_browser_tests_test/logs/stdio

BUG=302915
TEST=successful runs on Windows and Linux.
R=phoglund@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2334005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4902 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-02 15:04:45 +00:00
a6101d76f4 Update sampling rate and number of channels of NetEq4 if decoder is changed.
We encounter a sample-underrun if NetEq is initialized with a sampling rate fs =16000 and receive Opus packets with frame-size less than 5 ms. The reason is as follows.

Let say NetEq buffer has 4 packets of Opus each of size 2.5ms this means that internally timestamp of packets incremented by 80 (internally Opus treated as 32 kHz codec). Given the initial sampling rate of NetEq, at the first time that it wants to fetch packets, it targets to fetch 160 samples. Therefore, it will only extracts 2 packets. Decoding these packets give us exactly 160 samples (5 ms at 32 kHz), however, upon decoding the first packet the internal sampling rate will be updated to 32 kHz. So it is expected that sync buffer to deliver 320 samples while it does only have 160 samples (or maybe few more as it starts with some zeros). And we encounter and under-run.

Even if we ignore the under-run  "assert(sync_buffer_->FutureLength() >= expand_->overlap_length())" (neteq_impl.cc::811) is trigered. I'm not sure what happens if we remove this assert perhaps NetEq will work fine in subsequent calls. However the first under-run is blocking ACM2 test to pass.

Here I have a solution to update sample rate as soon as a packet is inserted, if required. It not a very efficient approach as we do the same reset in NetEqImpl::Decode().

It is a bit tricky to reproduce this because the TOT ACM tests do not run ACM2. In https://webrtc-codereview.appspot.com/2192005/ I have a patch to run both ACMs. To reproduce the problem, one can patch that CL and run

$ out/Debug/modules_tests --gtest_filter=AudioCodingModuleTest.TestOpus

Note that we would not encounter any problem if NetEq4 is initiated with 32000 Hz sampling rate. You can test this by setting |kNeteqInitSampleRateHz| to 32000 in webrtc/modules/audio_coding/main/acm2/acm_receiver.cc

BUG=
R=andrew@webrtc.org, henrik.lundin@webrtc.org, kjellander@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2306004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4896 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-01 22:01:09 +00:00
f26e8f6f57 Remove include_dirs from tools.
BUG=1662
TEST=compile on trybots
R=kjellander@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2306005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4859 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-26 14:04:27 +00:00
319c98d663 Fix format string in video_quality_analysis.cc.
Fixes compilation errors on Android and Linux32 targets.

TBR=kjellander@webrtc.org
BUG=

Review URL: https://webrtc-codereview.appspot.com/2196005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4717 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-10 15:23:50 +00:00
f880f863dd Convert printing in video quality tests to Chromium's perf format.
Add support for --label flag to the frame_analyzer, that
decides what label shall be used for the perf output.

BUG=none
TEST=
Make sure to have zxing and ffmpeg in the PATH.
Create a captured video (from running vie_auto_test custom call)
webrtc/tools/compare_videos.py --ref_video=reference_video.yuv --test_video=captured_output.yuv --frame_analyzer=out/Release/frame_analyzer --label=TEST_VGA
And then inspecting the output that is prefixed with RESULT.

R=phoglund@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2190005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4714 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-10 12:10:01 +00:00
e141373b8a Add isolate configuration for Android for all tests.
In https://code.google.com/p/webrtc/source/detail?r=4407
henrike@ added the path to the WebRTC resources and
data directories for Android that are required in order to
use isolate for test execution on Android.

This CL adds similar entries to the rest of the .isolate
files added in
https://code.google.com/p/webrtc/source/detail?r=4590.

It also removes three accidentally added .isolate files that originated
from old test names:
* audio_device_test_api
* video_capture_module_test
* video_render_module_test

BUG=1882,1916
TEST=trybots passing.
R=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2107004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4627 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-27 12:10:09 +00:00
3365422c41 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@4590 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-22 07:57:00 +00:00
4298f73031 Revert 4547 "Isolate GYP target and .isolate files for tests"
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
2013-08-15 11:29:58 +00:00
d7a4d235d2 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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4547 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-15 10:02:06 +00:00
12dc1a38ca Switch C++-style C headers with their C equivalents.
The C++ headers define the C functions within the std:: namespace, but
we mainly don't use the std:: namespace for C functions. Therefore we
should include the C headers.

BUG=1833
R=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1917004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4486 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-05 16:22:53 +00:00
89c674053e Adds all unittests to android NDK-APK framework.
BUG=N/A
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1872004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4474 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-02 16:53:47 +00:00
a6f56acc53 Fix some chromium-style warnings in webrtc/tools/
BUG=163
R=phoglund@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1908004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4427 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-30 12:50:59 +00:00
8400246fce Improved error messages when binaries are missing. Also stderr = stdout now.
Now that these scripts are called from browser tests, we need to print everything on stdout since the tests will throw away stderr when invoking programs. I chose to assign sys.stderr to sys.stdout. Otherwise I would have missed stuff like parser.error, which print to stderr.

The error message will get improved because the old code did not catch the case when the binary was missing, which lead to a very confusing error when that was the case. This gets fixed now.

BUG=
R=kjellander@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1886004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4416 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-29 11:01:03 +00:00
34773d9b6b Unreverts revert: Makes it possible to find files used by some unit tests when running them as Chrome native tests.
TBR=andrew@webrtc.org

BUG=N/A

Review URL: https://webrtc-codereview.appspot.com/1754005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4303 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-08 14:55:23 +00:00
db7d82f26f Revert 4298 "Makes it possible to find files used by some unit t..."
> Makes it possible to find files used by some unit tests when running them as Chrome native tests.
> 
> BUG=N/A
> R=andrew@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/1749004

Broke Android NDK/Android.mk builds.

TBR=henrike@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1752006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4299 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-05 08:49:09 +00:00
caf2fcca6a Makes it possible to find files used by some unit tests when running them as Chrome native tests.
BUG=N/A
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1749004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4298 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-05 04:15:38 +00:00
2a7fd5355d Moves tools/update.py to trunk/webrtc/tools and updates it so that it no longer pulls any information from the DEPS file.
BUG=N/A
R=andrew@webrtc.org, kjellander@google.com, kjellander@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1730004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4277 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-27 18:36:28 +00:00
7bcc7e3b43 Fixed bad parameter passing in compare_videos.py
BUG=http://crbug.com/254932
R=kjellander@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1733004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4272 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-27 14:05:26 +00:00
ba7f6a8614 Include files from webrtc/.. paths in tools/
BUG=1662
R=kjellander@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1547004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4166 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-04 08:14:10 +00:00
f791b1cebf Rename voice_engine_core -> voice_engine and move targets to voice_engine.gyp.
R=kjellander@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1574004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4126 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-29 00:38:02 +00:00
14d7700d00 Moved command line parsing to internal tools and moved back the mic volume thingie.
BUG=
R=henrika@webrtc.org, kjellander@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1491004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4054 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-17 11:52:08 +00:00
5c1948dfaf Moved force_volume_max to its own gyp file to avoid a circular dependency.
BUG=
TBR=tlegrand@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1489004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4046 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-16 13:59:19 +00:00
61d3c552a1 Wrote a small portable tool for forcing the mic volume to 100%.
BUG=
R=henrika@webrtc.org, kjellander@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1477005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4045 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-16 13:10:00 +00:00
a6ff84503e Add script for comparing video quality
This script makes it easier to run a simple command line
comparison between a captured YUV file and a reference video.

BUG=none
TEST=command line invocation
R=phoglund@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/1320007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4022 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-14 09:43:04 +00:00
3de314615f Fix frame_editing_unittest reference file handling.
This test was initializing strings for reference video files in a static
context, which makes is against the style guide and also makes the paths
become invalid when the test is launched from a working directory
outside the checkout.

Moving the initialization into the test fixture solves this.

BUG=none
TEST=Local execution launched from a directory outside the checkout tree on Win, Mac and Linux + trybots (for
compilation as they don't yet run the tools_unittests).

Review URL: https://webrtc-codereview.appspot.com/1178004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3647 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-11 15:30:33 +00:00
38ebf98c2a Refactor barcode decoder to use Zxing's C++ version
By using the C++ version of Zxing, we can avoid having Java and Ant
as a dependency when running Video quality analysis on the bots.
This makes it far more easy to setup automation on new machines.

I also moved the scripts into the webrtc/ folder so it will be synced by default when building in Chrome (eliminating the need of a separate solution).

This CL also removes the need of the FFMPEG_HOME variable and replaces
its use with a command line flag to make the tool run smoothly on
Windows.

BUG=none
TEST=locally running the script on Windows, Mac and Linux.

Review URL: https://webrtc-codereview.appspot.com/1099007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3640 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-08 10:58:21 +00:00