|
|
Created:
4 years, 10 months ago by kjellander_webrtc Modified:
4 years, 10 months ago CC:
webrtc-reviews_webrtc.org, Andrew MacDonald, tterriberry_mozilla.com, audio-team_agora.io, peah-webrtc, minyue-webrtc, aluebs-webrtc, bjornv1 Base URL:
https://chromium.googlesource.com/external/webrtc.git@master Target Ref:
refs/pending/heads/master Project:
webrtc Visibility:
Public. |
DescriptioniOS: Enable modules_unittests and common_audio_unittests
Instead of excluding the whole test binaries, only exclude the parts that cause the
compilation to fail for modules_unittests and common_audio_unittests.
BUG=webrtc:4752, webrtc:4755, webrtc:5544
TESTED=Successful build with:
GYP_DEFINES='OS=ios target_arch=x64' webrtc/build/gyp_webrtc
ninja -C out/Debug-iphonesimulator modules_unittests common_audio_unittests
NOTRY=True
Committed: https://crrev.com/9ac4df1ba66d39c3621cfb2e8ed08ae39658b793
Cr-Commit-Position: refs/heads/master@{#11675}
Patch Set 1 : #
Total comments: 5
Patch Set 2 : Restored tests for Android #
Total comments: 2
Patch Set 3 : Re-enable incorrectly excluded tests and add resources for modules_unittests #Patch Set 4 : Just updated bug number #
Total comments: 2
Messages
Total messages: 32 (20 generated)
Description was changed from ========== iOS: Enable modules_unittests and common_audio_unittests Instead of excluding the tests, exclude only the parts that cause the linking problems for modules_unittests. common_audio_unittests seems to have been fixed by other changes, since it could be enabled right away. BUG=webrtc:4755 TESTED=Successful build with: GYP_DEFINES='OS=ios target_arch=x64' webrtc/build/gyp_webrtc ninja -C out/Debug-iphonesimulator modules_unittests common_audio_unittests ========== to ========== iOS: Enable modules_unittests and common_audio_unittests Instead of excluding the tests, exclude only the parts that cause the linking problems for modules_unittests. common_audio_unittests seems to have been fixed by other changes, since it could be enabled right away. BUG=webrtc:4755 TESTED=Successful build with: GYP_DEFINES='OS=ios target_arch=x64' webrtc/build/gyp_webrtc ninja -C out/Debug-iphonesimulator modules_unittests common_audio_unittests ==========
kjellander@webrtc.org changed reviewers: + sergeyu@chromium.org
Patchset #1 (id:1) has been deleted
Patchset #1 (id:20001) has been deleted
kjellander@webrtc.org changed reviewers: + tina.legrand@webrtc.org
Description was changed from ========== iOS: Enable modules_unittests and common_audio_unittests Instead of excluding the tests, exclude only the parts that cause the linking problems for modules_unittests. common_audio_unittests seems to have been fixed by other changes, since it could be enabled right away. BUG=webrtc:4755 TESTED=Successful build with: GYP_DEFINES='OS=ios target_arch=x64' webrtc/build/gyp_webrtc ninja -C out/Debug-iphonesimulator modules_unittests common_audio_unittests ========== to ========== iOS: Enable modules_unittests and common_audio_unittests Instead of excluding the tests, exclude only the parts that cause the linking problems for modules_unittests. common_audio_unittests seems to have been fixed by other changes, since it could be enabled right away. BUG=webrtc:4752, webrtc:4755 TESTED=Successful build with: GYP_DEFINES='OS=ios target_arch=x64' webrtc/build/gyp_webrtc ninja -C out/Debug-iphonesimulator modules_unittests common_audio_unittests ==========
kjellander@webrtc.org changed reviewers: + kwiberg@webrtc.org - tina.legrand@webrtc.org
Description was changed from ========== iOS: Enable modules_unittests and common_audio_unittests Instead of excluding the tests, exclude only the parts that cause the linking problems for modules_unittests. common_audio_unittests seems to have been fixed by other changes, since it could be enabled right away. BUG=webrtc:4752, webrtc:4755 TESTED=Successful build with: GYP_DEFINES='OS=ios target_arch=x64' webrtc/build/gyp_webrtc ninja -C out/Debug-iphonesimulator modules_unittests common_audio_unittests ========== to ========== iOS: Enable modules_unittests and common_audio_unittests Instead of excluding the tests, exclude only the parts that cause the linking problems for modules_unittests. common_audio_unittests seems to have been fixed by other changes, since it could be enabled right away. BUG=webrtc:4752, webrtc:4755 TESTED=Successful build with: GYP_DEFINES='OS=ios target_arch=x64' webrtc/build/gyp_webrtc ninja -C out/Debug-iphonesimulator modules_unittests common_audio_unittests NOTRY=True ==========
Description was changed from ========== iOS: Enable modules_unittests and common_audio_unittests Instead of excluding the tests, exclude only the parts that cause the linking problems for modules_unittests. common_audio_unittests seems to have been fixed by other changes, since it could be enabled right away. BUG=webrtc:4752, webrtc:4755 TESTED=Successful build with: GYP_DEFINES='OS=ios target_arch=x64' webrtc/build/gyp_webrtc ninja -C out/Debug-iphonesimulator modules_unittests common_audio_unittests NOTRY=True ========== to ========== iOS: Enable modules_unittests and common_audio_unittests Instead of excluding the whole test binaries, only exclude the parts that cause the compilation to fail for modules_unittests and common_audio_unittests. BUG=webrtc:4752, webrtc:4755 TESTED=Successful build with: GYP_DEFINES='OS=ios target_arch=x64' webrtc/build/gyp_webrtc ninja -C out/Debug-iphonesimulator modules_unittests common_audio_unittests NOTRY=True ==========
Patchset #1 (id:40001) has been deleted
Patchset #1 (id:60001) has been deleted
sergeyu: desktop capture changes. kwiberg: common_audio.gyp + iSAC changes in modules.gyp kwiberg: do you know how we can get the iSAC stuff solved for iOS, so it builds for all architectures, even for iOS? https://codereview.webrtc.org/1698033002/diff/80001/webrtc/modules/modules.gyp File webrtc/modules/modules.gyp (right): https://codereview.webrtc.org/1698033002/diff/80001/webrtc/modules/modules.gy... webrtc/modules/modules.gyp:113: 'target_name': 'modules_unittests', The diff is useless here: what I've done is: 1. move the target out of the condition so it's built for iOS. 2. move the desktop_capture dependency + tests into the desktop_capture_supported==1 condition 3. move the iSAC fixed tests that fail to link on iOS ia32/x64/arm64 into a new condition (at the end of the target). See comments below for more details. No other modifications are made to the target. https://codereview.webrtc.org/1698033002/diff/80001/webrtc/modules/modules.gy... webrtc/modules/modules.gyp:382: 'dependencies': [ I moved the desktop_capture dependency + test sources into this condition, instead of subtracting some tests when desktop_capture_supported==0 (which I believe may have been outdated). I changed the condition from ==0 and excluding sources, to ==1 and including the sources + the 'desktop_capture' library. to improve readability. NOTICE: This means a few tests that used to run on Android no longer run. They are: desktop_capture/desktop_region_unittest.cc desktop_capture/differ_block_unittest.cc desktop_capture/differ_unittest.cc I assume that's fine, considering Android is not really a platform where desktop capture is used/supported, or is it? https://codereview.webrtc.org/1698033002/diff/80001/webrtc/modules/modules.gy... webrtc/modules/modules.gyp:474: 'audio_coding/codecs/isac/unittest.cc', These 5 are the sources that are moved out from the large list, since they don't link on iOS for x86/x64/arm64. They're still kept for non-iOS platforms and iOS ARM (even though we don't run tests for that configuration yet).
https://codereview.chromium.org/1698033002/diff/80001/webrtc/modules/modules.gyp File webrtc/modules/modules.gyp (right): https://codereview.chromium.org/1698033002/diff/80001/webrtc/modules/modules.... webrtc/modules/modules.gyp:382: 'dependencies': [ On 2016/02/15 21:05:04, kjellander (webrtc) wrote: > I moved the desktop_capture dependency + test sources into this condition, > instead of subtracting some tests when desktop_capture_supported==0 (which I > believe may have been outdated). > > I changed the condition from > ==0 and excluding sources, to > ==1 and including the sources + the 'desktop_capture' library. > to improve readability. > > NOTICE: This means a few tests that used to run on Android no longer run. They > are: > desktop_capture/desktop_region_unittest.cc > desktop_capture/differ_block_unittest.cc > desktop_capture/differ_unittest.cc > > I assume that's fine, considering Android is not really a platform where desktop > capture is used/supported, or is it? DesktopRegion is used by the remoting client on Android. Beside DesktopRegion the stuff in desktop_geometry.h is also used by the remoting client code and should still be enabled on Android.
Thanks for the quick reply. I restored the Android tests in PS#2. PTAL https://codereview.webrtc.org/1698033002/diff/80001/webrtc/modules/modules.gyp File webrtc/modules/modules.gyp (right): https://codereview.webrtc.org/1698033002/diff/80001/webrtc/modules/modules.gy... webrtc/modules/modules.gyp:382: 'dependencies': [ On 2016/02/16 18:52:13, Sergey Ulanov wrote: > On 2016/02/15 21:05:04, kjellander (webrtc) wrote: > > I moved the desktop_capture dependency + test sources into this condition, > > instead of subtracting some tests when desktop_capture_supported==0 (which I > > believe may have been outdated). > > > > I changed the condition from > > ==0 and excluding sources, to > > ==1 and including the sources + the 'desktop_capture' library. > > to improve readability. > > > > NOTICE: This means a few tests that used to run on Android no longer run. They > > are: > > desktop_capture/desktop_region_unittest.cc > > desktop_capture/differ_block_unittest.cc > > desktop_capture/differ_unittest.cc > > > > I assume that's fine, considering Android is not really a platform where > desktop > > capture is used/supported, or is it? > > DesktopRegion is used by the remoting client on Android. Beside DesktopRegion > the stuff in desktop_geometry.h is also used by the remoting client code and > should still be enabled on Android. Alright, I restored them in the next patch set.
lgtm, but see comment https://codereview.webrtc.org/1698033002/diff/100001/webrtc/modules/modules.gyp File webrtc/modules/modules.gyp (right): https://codereview.webrtc.org/1698033002/diff/100001/webrtc/modules/modules.g... webrtc/modules/modules.gyp:476: ['OS!="ios" or target_arch=="arm"', { Hmm. The comment is equivalent to the condition only if ia32,x64, arm, and arm64 is the complete set of target archs. Also, you changed this to exclude arm64. Why?
On 2016/02/15 21:05:04, kjellander (webrtc) wrote: > kwiberg: do you know how we can get the iSAC stuff solved for iOS, so it builds > for all architectures, even for iOS? No, I don't know what the problem is. (Though admittedly, I haven't tried to find out.) It might make sense to split it out into its own bug now, though.
Patchset #3 (id:120001) has been deleted
Patchset #3 (id:140001) has been deleted
Patchset #3 (id:160001) has been deleted
Patchset #3 (id:180001) has been deleted
Patchset #3 (id:200001) has been deleted
Description was changed from ========== iOS: Enable modules_unittests and common_audio_unittests Instead of excluding the whole test binaries, only exclude the parts that cause the compilation to fail for modules_unittests and common_audio_unittests. BUG=webrtc:4752, webrtc:4755 TESTED=Successful build with: GYP_DEFINES='OS=ios target_arch=x64' webrtc/build/gyp_webrtc ninja -C out/Debug-iphonesimulator modules_unittests common_audio_unittests NOTRY=True ========== to ========== iOS: Enable modules_unittests and common_audio_unittests Instead of excluding the whole test binaries, only exclude the parts that cause the compilation to fail for modules_unittests and common_audio_unittests. BUG=webrtc:4752, webrtc:4755, webrtc:5544 TESTED=Successful build with: GYP_DEFINES='OS=ios target_arch=x64' webrtc/build/gyp_webrtc ninja -C out/Debug-iphonesimulator modules_unittests common_audio_unittests NOTRY=True ==========
Please take a look at PS#3+4 combined (saved some trybot runs there). I did some more testing locally and found the mistakes I initially made. modules_unittests will need more work for all tests to pass, but that can be done in a follow-up CL (it's just running in http://build.chromium.org/p/client.webrtc.fyi/waterfall now anyway). https://codereview.webrtc.org/1698033002/diff/100001/webrtc/modules/modules.gyp File webrtc/modules/modules.gyp (right): https://codereview.webrtc.org/1698033002/diff/100001/webrtc/modules/modules.g... webrtc/modules/modules.gyp:476: ['OS!="ios" or target_arch=="arm"', { On 2016/02/17 10:01:03, kwiberg-webrtc wrote: > Hmm. The comment is equivalent to the condition only if ia32,x64, arm, and arm64 > is the complete set of target archs. > > Also, you changed this to exclude arm64. Why? Good catch! You're right; this code was previously enabled for arm64 so I must have been confused somehow. I did some more testing and it appears it actually compiles for ia32 and x64 as well so I must have been building the wrong out directory (arm,arm64 = out/{Debug,Release}-iphoneos and ia32,x64 = arm,arm64 = out/{Debug,Release}-iphonesimulator). You get odd link errors when trying to build the regular out/{Debug,Release} configs (desktop) so that must have been what happened here. Lesson learned: always include both environment, build command and compile errors in the bugs.
lgtm https://codereview.webrtc.org/1698033002/diff/240001/webrtc/modules/modules.gyp File webrtc/modules/modules.gyp (right): https://codereview.webrtc.org/1698033002/diff/240001/webrtc/modules/modules.g... webrtc/modules/modules.gyp:461: # This needs to be kept in sync with modules_unittests.isolate. Bug waiting to happen. :-)
Friendly ping, Sergey. https://codereview.webrtc.org/1698033002/diff/240001/webrtc/modules/modules.gyp File webrtc/modules/modules.gyp (right): https://codereview.webrtc.org/1698033002/diff/240001/webrtc/modules/modules.g... webrtc/modules/modules.gyp:461: # This needs to be kept in sync with modules_unittests.isolate. On 2016/02/18 09:54:50, kwiberg-webrtc wrote: > Bug waiting to happen. :-) Yeah, I've reached out to the iOS folks and asked if there's a way to use the .isolate files. At least things will break on trybots when one or the other gets out of sync, once we've moved the iOS simulator bots to the main waterfall.
lgtm
The CQ bit was checked by kjellander@webrtc.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1698033002/240001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1698033002/240001
Message was sent while issue was closed.
Description was changed from ========== iOS: Enable modules_unittests and common_audio_unittests Instead of excluding the whole test binaries, only exclude the parts that cause the compilation to fail for modules_unittests and common_audio_unittests. BUG=webrtc:4752, webrtc:4755, webrtc:5544 TESTED=Successful build with: GYP_DEFINES='OS=ios target_arch=x64' webrtc/build/gyp_webrtc ninja -C out/Debug-iphonesimulator modules_unittests common_audio_unittests NOTRY=True ========== to ========== iOS: Enable modules_unittests and common_audio_unittests Instead of excluding the whole test binaries, only exclude the parts that cause the compilation to fail for modules_unittests and common_audio_unittests. BUG=webrtc:4752, webrtc:4755, webrtc:5544 TESTED=Successful build with: GYP_DEFINES='OS=ios target_arch=x64' webrtc/build/gyp_webrtc ninja -C out/Debug-iphonesimulator modules_unittests common_audio_unittests NOTRY=True ==========
Message was sent while issue was closed.
Committed patchset #4 (id:240001)
Message was sent while issue was closed.
Description was changed from ========== iOS: Enable modules_unittests and common_audio_unittests Instead of excluding the whole test binaries, only exclude the parts that cause the compilation to fail for modules_unittests and common_audio_unittests. BUG=webrtc:4752, webrtc:4755, webrtc:5544 TESTED=Successful build with: GYP_DEFINES='OS=ios target_arch=x64' webrtc/build/gyp_webrtc ninja -C out/Debug-iphonesimulator modules_unittests common_audio_unittests NOTRY=True ========== to ========== iOS: Enable modules_unittests and common_audio_unittests Instead of excluding the whole test binaries, only exclude the parts that cause the compilation to fail for modules_unittests and common_audio_unittests. BUG=webrtc:4752, webrtc:4755, webrtc:5544 TESTED=Successful build with: GYP_DEFINES='OS=ios target_arch=x64' webrtc/build/gyp_webrtc ninja -C out/Debug-iphonesimulator modules_unittests common_audio_unittests NOTRY=True Committed: https://crrev.com/9ac4df1ba66d39c3621cfb2e8ed08ae39658b793 Cr-Commit-Position: refs/heads/master@{#11675} ==========
Message was sent while issue was closed.
Patchset 4 (id:??) landed as https://crrev.com/9ac4df1ba66d39c3621cfb2e8ed08ae39658b793 Cr-Commit-Position: refs/heads/master@{#11675} |