Closed Bug 1766990 Opened 3 years ago Closed 3 years ago

Reftest analyzer output broken for android wrench tests

Categories

(Core :: Graphics: WebRender, defect)

defect

Tracking

()

RESOLVED FIXED
102 Branch
Tracking Status
firefox-esr91 --- unaffected
firefox99 --- unaffected
firefox100 --- unaffected
firefox101 --- wontfix
firefox102 --- fixed

People

(Reporter: jnicol, Assigned: jnicol)

References

(Regression)

Details

(Keywords: regression)

Attachments

(1 file)

Since updating the version of cargo-apk we use to build wrench in bug 1615148, the reftest analyzer no longer works for failing reftests.

This is because on Android logcat truncates long lines, and the base64 encoded images we output are too long so they get truncated. The version of android-glue used by the old cargo-apk automatically split long lines whilst redirecting stdout and stderr to the logcat. We then stitched them back together again.

The equivalent ndk_glue crate used by the new cargo-apk does not do this, it simply forwards stdout and stderr to logcat line by line, regardless of their length.

We could patch ndk_glue to match the old behaviour. Or split the long strings ourselves before we we println them. But I think this has always been unreliable. I've seen broken images in the reftest analyzer before and I'm pretty sure this is the cause.

I'd rather we redirect stdout and stderr to a file instead, and pull that file from the device when parsing the log at the end. We should still redirect to logcat as well so that most of the information shows up there (but won't be usable in the reftest-analyzer)

Set release status flags based on info from the regressing bug 1615148

Has Regression Range: --- → yes

On Android long lines are truncated by logcat, meaning the base64
images output by wrench's reftest harness get truncated. The glue code
used by the old version of cargo-apk automatically split long lines,
which we then stitched back together again when parsing the
log. However, the glue used by the new cargo-apk no longer does this.

While we could manually split the long strings ourselves, this method
has always been unreliable. Instead, this patch makes us additionally
write stdout and stderr to a file as well as logcat. The test runner
script then pulls this file from the device and scrapes it rather than
the logcat.

Depends on D145075

Pushed by jnicol@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/5c65f68ac342 Redirect stdout and stderr to file for wrench tests on Android. r=gfx-reviewers,nical

Set release status flags based on info from the regressing bug 1615148

Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 102 Branch

The patch landed in nightly and beta is affected.
:jnicol, is this bug important enough to require an uplift?
If not please set status_beta to wontfix.

For more information, please visit auto_nag documentation.

Flags: needinfo?(jnicol)

No need to uplift this, it just means the reftest analyzer doesn't work properly on wrench reftests.

Flags: needinfo?(jnicol)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: