Commit Graph

24 Commits

Author SHA1 Message Date
b788bc25f3 Add Mac-specific resource to modules_unittests.isolate
This should make
http://build.chromium.org/p/client.webrtc.fyi/builders/Mac64%20Release%20%28swarming%29
go green.

BUG=chromium:497757
TBR=stip@chromium.org

Review URL: https://codereview.webrtc.org/1415093005 .

Cr-Commit-Position: refs/heads/master@{#10367}
2015-10-22 05:31:39 +00:00
9589e2af16 Update isolate files for swarming tests
Xvfb is needed for the screen capture tests in modules_unittests,
which also brings in xdisplaycheck used by testing/xvfb.py.

libjingle_media_unittest was missing a resource video in the .isolate
file.

BUG=chromium:497757
R=stip@chromium.org

Review URL: https://codereview.webrtc.org/1415603005 .

Cr-Commit-Position: refs/heads/master@{#10365}
2015-10-22 04:48:34 +00:00
474d1eb223 Adds C++/JNI/Java unit test for audio device module on Android.
This CL adds support for unittests of the AudioDeviceModule on Android using both Java and C++. The new framework uses ::testing::TesWithParam to support both Java-based audio and OpenSL ES based audio. However, given existing issues in our OpenSL ES implementation, the list of test parameters only contains Java in this first version. Open SL ES will be enabled as soon as the backend has been refactored.

It also:

- Removes the redundant JNIEnv* argument in webrtc::VoiceEngine::SetAndroidObjects().
- Modifies usage of enable_android_opensl and the WEBRTC_ANDROID_OPENSLES define.
- Adds kAndroidJavaAudio and kAndroidOpenSLESAudio to AudioLayer enumerator.
- Fixes some bugs which were discovered when running the tests.

BUG=NONE
R=phoglund@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8651}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8651 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-09 12:40:43 +00:00
903b4ae603 Removes unused test files by audio_processing/transient
BUG=
TBR=pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7901 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-15 16:13:05 +00:00
788acd17ad Merge audio_processing changes.
R=aluebs@webrtc.org, bjornv@webrtc.org
BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7893 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-15 09:41:24 +00:00
52bb521b47 Update isolate files for Android APK tests.
This should speed up test execution on Android since only
the files needed by the test will be processed (instead
of the whole data + resources directories).

A few files for modules_unittests had to be explicitly added
for Android, since they were previously a part of the
add-whole-directories entries for the resources and data
directories.

BUG=webrtc:3741
TEST=Passing android+android_rel trybots.
R=phoglund@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7694 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-13 08:35:05 +00:00
78c222bfae Update all .isolate files for the new format.
R=kjellander@webrtc.org
BUG=

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

Patch from Marc-Antoine Ruel <maruel@chromium.org>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7583 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-31 18:08:09 +00:00
a1bfc50a72 Pass GYP DEPTH variable to isolate.
Similar change to https://codereview.chromium.org/322403003/
This will make it possible to handle different
directory levels for special builds of WebRTC, without
breaking GYP when the .isolate files are processed and
their contents is verified.

Also update all our .isolate files to use the <(DEPTH)
variable.

BUG=343106
TEST=Successful compile+test on Linux using:
ninja -C out/Release
tools/swarming_client/isolate.py run -s out/Release/tools_unittests.isolated
Also trybots passing all tests.

R=pbos@webrtc.org
TBR=tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6427 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-13 09:02:15 +00:00
74767401f2 Fix a bug preventing FilePlayer from playing encoded wav files
A bug in ACM2 prevented decoding and playout of wav files where the
audio data was encoded (i.e., not just linear PCM 16 bit data).

This CL fixes the issue, and adds a unit test for the FilePlayer.

BUG=3386
R=henrike@webrtc.org, tina.legrand@webrtc.org, turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6248 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-26 13:37:45 +00:00
48438c2c90 Enabling NetEq bit-exactness test for Win x64
A new reference file (neteq4_universal_ref_win_64.pcm) was generated and
uploaded.

Also removing the old hack to have different reference files
for different version of Visual Studio. The test is now only supporting
VS 2012 and later (_MSC_VER >= 1700). This makes the windows 32-bit
output identical to the generic reference file
(neteq4_universal_ref.pcm), so the specialized one
(neteq4_universal_ref_win_32.pcm) could have been removed. However,
since the resources sync mechanism does not include removing of old
files, a client could pick up the old reference and fail. Therefore,
this cl also updates neteq4_universal_ref_win_32.pcm to be identical to
neteq4_universal_ref.pcm.

BUG=1458
R=kjellander@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6204 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-20 16:07:43 +00:00
ddbb8a2c24 Support arbitrary input/output rates and downmixing in AudioProcessing.
Select "processing" rates based on the input and output sampling rates.
Resample the input streams to those rates, and if necessary to the
output rate.

- Remove deprecated stream format APIs.
- Remove deprecated device sample rate APIs.
- Add a ChannelBuffer class to help manage deinterleaved channels.
- Clean up the splitting filter state.
- Add a unit test which verifies the output against known-working
native format output.

BUG=2894
R=aluebs@webrtc.org, bjornv@webrtc.org, xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5959 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-22 21:00:04 +00:00
c3d13d38f4 Classes and tests for audio an classifier. The class can be used to classify whether a frame of audio contains speech or music. The classifier uses the music/speech classifier in Opus.
R=andrew@webrtc.org, henrik.lundin@webrtc.org, turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5677 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-10 22:50:19 +00:00
a8b97373d5 Add tests and modify tools for new float deinterleaved interface.
- Add an Initialize() overload to allow specification of format
parameters. This is mainly useful for testing, but could be used in
the cases where a consumer knows the format before the streams arrive.
- Add a reverse_sample_rate_hz_ parameter to prepare for mismatched
capture and render rates. There is no functional change as it is
currently constrained to match the capture rate.
- Fix a bug in the float dump: we need to use add_ rather than set_.
- Add a debug dump test for both int and float interfaces.
- Enable unpacking of float dumps.
- Enable audioproc to read float dumps.
- Move more shared functionality to test_utils.h, and generally tidy up
a bit by consolidating repeated code.

BUG=2894
TESTED=Verified that the output produced by the float debug dump test is
correct. Processed the resulting debug dump file with audioproc and
ensured that we get identical output. (This is crucial, as we need to
be able to exactly reproduce online results offline.)

R=aluebs@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5676 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-10 22:26:12 +00:00
99a8c7e039 Add trace-based delivery filter to BWE test framework.
R=mflodman@webrtc.org, solenberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5423 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-24 10:00:27 +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
812dd11f8c Add baseline generation/verification to BWE test framework.
Updating resource file separately, once LGTM. Generates ~628k of files for current tests, highly compressable, once/if we need that.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5204 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-03 15:11:14 +00:00
7a36cb408b Add missing dependencies to .isolate files
Also fix invalid paths in video_engine_tests.isolate.

TEST=trybots passing compile step (no .isolate use is deployed on them yet)
BUG=chromium:300017
R=pbos@webrtc.org
TBR=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5084 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-05 14:28:57 +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
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
14c966c706 Fixes resources and data path in modules_unittests.isolate.
BUG=N/A
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4407 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-25 22:44:04 +00:00
e80a934b36 Added modules_unittests.isolate for ndk-apk builds.
TBR=csharp@chromium.org, frankf@chromium.org

BUG=N/A

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4307 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-08 21:19:57 +00:00