New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 612887 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Bug

Blocking:
issue 617655



Sign in to add a comment

Android layout tests don't work with GN

Project Member Reported by chcunningham@chromium.org, May 18 2016

Issue description

Device: Nexus 4
OS: Android 4.3 (occam-userdebug 4.3 JWR67E)
Command:
python third_party/WebKit/Tools/Scripts/run-webkit-tests -t Android --android http/tests/media/media-source/mediasource-config-change-mp4-v-framesize.html

Apologies for the vague title, will update as we learn more. 

I'd like to build/run android layout tests with GN. My GN output folder for Android is out/Android.

The build goes fine, but things get strange when I try to run (see attached log). From what I can tell, the device is prepared, http server is started, but then something triggers stopping of HTTP server, which itself fails with "OSError: [Errno 2] No such file or directory" (I think it fails to find the /tmp/WebKit/httpd.pid).

In the log I see suspicious mentions of the out/Debug even though I specified --target to pickup build output from out/Android. Beyond that, my only other hint is that the log shows trouble finding various *.fifo files before stopping the http server. 

Moving my GN output folder to out/Debug doesn't seem to improve things. Also, I'm able to run content shell on the device without issue. I'm even able to manually run the test and have it pass.  

My GYP build is currently broken. Seems the build is regressed [0], but maybe its just me.

Thanks in advance for you help!

[0] (see my comment) https://codereview.chromium.org/1964153002/


 
out.txt
25.3 KB View Download
Labels: OS-Android
Owner: dpranke@chromium.org
Status: Assigned (was: Available)
Summary: Android layout tests don't work with GN (was: Weirdness running Android layout tests with GN)
Changing title - it seems to have nothing to do with the specific test. If I remove the test mention from the command and let it try to run all the SmokeTests  it still fails in the same way upon running the first test (instantly transitions to stopping the http server).

Dirk, can you help or help find another owner?

Not being able to run these tests means they rot and clank suffers. My end goal here is to:

1. Get the tests to work with GN (GYP will continue to break since AFAIK all other bots have moved away from it).
2. Make the android_blink_rel bot use GN
Cc: tansell@chromium.org qyears...@chromium.org ojan@chromium.org
Owner: stip@chromium.org
I can take a look and if this works for me (or not) when I'm back in the office in front of a linux machine w/ my devices.

However, I can't really own this. Mike, do you want to own this or find someone on blink infra to own it?

Comment 4 by stip@chromium.org, May 19 2016

How different are the layout tests from chromium gtests?
The tests themselves are quite different.

I think the actual setup/teardown of the device for the tests is fairly similar, but is implemented in two different code bases (i.e., totally duplicated).

I think (but am not sure) that the problem Chris is seeing is a setup/teardown problem, so it would be good to get someone else to at least try to run the tests locally to see if they can repro.

Though, checking this now ... Chris's device is running J, but I think the builder is using K:

https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Android%20%28Nexus4%29/builds/47130

The tests are very sensitive to the device/os config. Chris, maybe try upgrading your phone if you can and see if that fixes things?
Ran with KitKat just now, observed same failing behavior. Log attached.
out.txt
26.9 KB View Download
I want to comment that the GYP build is again regressed (this change [0] moves a bunch of files, updates .gn but not .gyp), but I'm puzzled by how the Nexus 4 bot seems to be green at the moment? 

The breaking change has position #396515. 
The last nexus 4 build [1] used change #397172. (I'm also synced here locally)


[0] https://codereview.chromium.org/1954363002
[1] https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Android%20%28Nexus4%29/builds/47875

When I attempt to gyp_chromium, I hit the error

find: `java/src/android/support/customtabs': No such file or directory
gyp: Call to 'find java/src/android/support/customtabs -name "*.java" | sort' returned exit status 0 while in /ssd/blink1/src/chrome/android/chrome_apk.gyp.

which makes sense because the customtabs is now moved as of change [0].


The GN build works fine, but run-webkit-tests is still busted.
Bots (% a few webrtc.fyi bots?) have switched to GN, including https://build.chromium.org/p/chromium.webkit/builders/Android%20Builder. I'm not surprised that android gyp has started rotting.
Me neither, but how is it not rotting for the Nexus 4 bot? Only me? 

If it is indeed rotting for everyone, including that bot, then I am blocked using run-webkit-tests on android. Can I get an update on the status of the fix for GN runs? Has anyone repro'd my failures?
The N4 bot doesn't build, it gets triggered by the builder I linked in #8.
Ah, sorry I missed that. Doesn't this suggest that it really should be possible for me to run-webkit-tests from a GN build? 

In an attempt to match the bot's command, I've changed my GN output directory to be out/Release -- still hitting the same failure. Can someone take a look this? I'm blocked. 
out.txt
26.4 KB View Download
Can you capture the logcat for a run & upload that?

I'm suspicious of the use of FIFOs -- we had a lot of trouble with them in gtests on Android and moved away from them.
Here's the adb logcat. Its really short since this script dies so early/quickly.
adb.log
4.8 KB View Download
Nothing particularly helpful in there, unfortunately.

I don't have access to my devices today, but I'll try to repro this tomorrow & get back to you.
Hey, just checking in
Blocking: 617655
Sorry, busy week last week.
Owner: jbudorick@chromium.org
Looking at this now.
Status: Started (was: Assigned)
Cc: -qyears...@chromium.org
Status: Fixed (was: Started)
Layout tests work with gn. Still working on M+ support over in https://bugs.chromium.org/p/chromium/issues/detail?id=567947

Sign in to add a comment