27 Commits

Author SHA1 Message Date
henrike@webrtc.org
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
andresp@webrtc.org
60015d27ae Wire up --force_fieldtrials for vie_auto_test and for test targets linking with test/test.gyp:{test_main|test_support_main}
This allows use of webrtc field trials  and opens up the possibility to try the different code paths when running the unit tests by wiring them up to a --force_fieldtrials.

Tested: running a test target that links with the above with a flag --force_fieldtrials=invalid leads the test to crash.

BUG=crbug/367114
R=mflodman@webrtc.org, phoglund@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6181 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-16 09:39:51 +00:00
andresp@webrtc.org
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
asapersson@webrtc.org
0f2809a5ac Add RTCP packet class.
Adds packet types: sr, rr, bye, fir.

BUG=2450
R=mflodman@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5592 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-21 08:14:45 +00:00
pbos@webrtc.org
724947b8ef Add SwapFrame() to VideoSendStreamInput.
Optionally prevents doing a frame copy when putting frames into a
VideoSendStream. PutFrame() is still there, which copies the frame.

Also removes time_since_capture_ms as a parameter, since
I420VideoFrame::render_time_ms() denotes when the frame was captured.

BUG=2657
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5265 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-11 16:26:16 +00:00
kjellander@webrtc.org
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
kjellander@webrtc.org
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
kjellander@webrtc.org
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
andrew@webrtc.org
aa3d1c8169 Make unittest log printouts opt-in with a --logs flag.
TESTED=Using modules_unittests, no logs are printed by default.
Specifying --logs prints logs. gtest flags work correctly.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4686 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-05 21:16:29 +00:00
kjellander@webrtc.org
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
kjellander@webrtc.org
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
kjellander@webrtc.org
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
pbos@webrtc.org
2ab209ef14 Remove include_dirs from test/test.gyp.
This is a cleanup step for having root-relative includes, include_dirs shouldn't be needed anymore.

BUG=1662
R=phoglund@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4512 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-09 08:49:48 +00:00
henrike@webrtc.org
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
henrike@webrtc.org
5fc4d34f54 Arguments need to be separated when implementing gyp-actions.
TBR=andrew@webrtc.org

BUG=N/A

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4309 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-09 02:08:25 +00:00
henrike@webrtc.org
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
pbos@webrtc.org
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
henrike@webrtc.org
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
kjellander@webrtc.org
6c35e0b0f7 Reorganize test targets in WebRTC
This CL will lower the number of test targets in WebRTC by:

Add common_audio_unittests and merge the following targets into it (copied from http://review.webrtc.org/1584006):
* resampler_unittests
* signal_processing_unittests
* vad_unittests

Merge into modules_unittests:
* bitrate_controller_unittests
* desktop_capture_unittests
* media_file_unittests
* remote_bitrate_estimator_unittests
* rtp_rtcp_unittests
* paced_sender_unittests

Merge into test_support_unittests:
* channel_transport_unittests

channel_transport.gyp was also removed in favor for test.gyp.

I had to remove a main method from rtcp_format_remb_unittest.cc
since it caused the fileutils.h code to not be able to find the
right project root path in ordrer to provide correct paths
to test files.

Buildbot configuration update will be synced with the commit of this CL.

TEST=trybots
BUG=1843
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4213 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-11 08:29:17 +00:00
andrew@webrtc.org
b87cc85beb Refactor unittest trace printouts to a separate class.
This allows other tests/tools which don't depend on TestSuite to reuse the functionality.

BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3721 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-25 16:23:37 +00:00
andrew@webrtc.org
c1ffd337f1 Add trace printouts to all unit tests.
Unfortunately, this requires splitting system_wrappers_unittests out of system_wrappers.gyp to avoid a cyclic dependency.

TESTED=ran a few unit tests and observed printouts

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3711 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-22 17:13:23 +00:00
kjellander@webrtc.org
b2d7497faf Fix Win64 warnings
This change fixes warnings about converting size_t to int.

BUG=webrtc:1323
TEST=trybots passing

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3419 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-26 16:36:40 +00:00
kjellander@webrtc.org
d3ecb615ba Fix path to perf Python scripts in test.gyp
The path in test.gyp in r3411 was incorrect since it was based on the symlink that does not exist on Windows.
This CL changes it to reference the actual path in /tools/perf

TBR=phoglund
BUG=none
TEST=win try bot.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3413 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-25 12:18:15 +00:00
kjellander@webrtc.org
3e47a0a611 Test launching script
This script is an attempt to move flags and argumetns to tests from the
buildbot configuration to the source tree.
This will make it easier for anyone to modify test execution behavior
and also has the benefit that it's easier to run the tests in a similar
fashion on a developer workstation.

NOTICE: The audio comparison tool will need to be moved to ~/bin when bots are going to switch over to using this script for execution.

TEST=local execution.
BUG=none

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3411 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-25 10:10:53 +00:00
phoglund@webrtc.org
d005468e9b Generalized mechanism for excluding gtests on platforms, disabled broken tests on mac.
BUG=1268
TEST=vie_auto_test on mac and linux
TBR=mflodman, kjellander

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3347 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-09 16:53:42 +00:00
andrew@webrtc.org
2009f6b236 Add Chromium's perf_test to testsupport.
Review URL: https://webrtc-codereview.appspot.com/936027

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3133 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-20 00:20:20 +00:00
andrew@webrtc.org
14b43beb7c Move src/ -> webrtc/
TBR=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2963 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-22 18:19:23 +00:00