Closed Bug 1277320 Opened 8 years ago Closed 2 years ago

Get GTests working on Windows PGO builds

Categories

(Testing :: GTest, defect)

Version 3
Unspecified
All
defect
Not set
normal

Tracking

(firefox-esr91 fixed, firefox97 fixed)

RESOLVED FIXED
97 Branch
Tracking Status
firefox-esr91 --- fixed
firefox97 --- fixed

People

(Reporter: RyanVM, Assigned: RyanVM)

References

Details

Attachments

(1 file)

GTests on Windows PGO builds are currently broken and hidden on Treeherder. My understanding is that this was an intentional decision made to avoid lengthening the already-long PGO build times due to having to link everything twice.

The big trade-off to this decision is that it leaves us with effectively zero Windows opt GTest coverage on the release branches. On the builds that go out to 90+% of our users. Which seems like a Bad thing.

Now that we've clawed back a lot of PGO build time wins, I think we should revisit the earlier decision and consider re-enabling them.
I'm not entirely sure this will be useful, to be honest. The problem is that xul.dll and xul-gtest.dll *are not the same binary*. When we re-link xul.dll using the profiling info, we can't use that same profiling info to re-link xul-gtest.dll, it's just not valid for that binary. That means that we'd wind up re-linking xul-gtest.dll and generating different code than exists in xul.dll, so the tests wouldn't actually test anything meaningful anyway.

Unfortunately this is a hard problem and I don't know a way to solve it.
For perpetuity's sake, it may be worth trying to get MSVC to use the xul.pgd files for xul-gtest.dll.
https://msdn.microsoft.com/en-us/library/438sd1tf.aspx

Not sure if that'd actually work in practice, but in theory that would at least give us reasonably-comparable end results for both DLLs.
Component: General → GTest

Shot in the dark, but does the move to clang-cl make this more doable?

Flags: needinfo?(mh+mozilla)

More than clang-cl, the move to cross-compiles should make that more manageable. Try it?

Flags: needinfo?(mh+mozilla)

As a ride-along to this patch, it turns out that the Tier3 Windows ASAN GTest job has been running reliably green for a long time now, so let's bump that up to Tier 1 alongside the others.

Assignee: nobody → ryanvm
Status: NEW → ASSIGNED
Pushed by rvandermeulen@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/83b3639f3423
Run GTests on all Windows flavors as Tier 1. r=glandium
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 97 Branch
Regressions: 1746616
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: