Closed Bug 1323140 Opened 8 years ago Closed 7 years ago

run test-stylo just after generating bindings at build time

Categories

(Core :: CSS Parsing and Computation, defect, P2)

defect

Tracking

()

RESOLVED DUPLICATE of bug 1373878

People

(Reporter: heycam, Unassigned)

References

(Blocks 1 open bug)

Details

(Whiteboard: [Stylo])

It would be great if we could run test-stylo automatically from the build, just after bindings are generated, and to have their failure be a build failure.  Ideally it would use the just-built style and geckolib crates, unlike doing a |cd servo/ && ./mach test-stylo|, which builds everything again under servo/.
Depends on: 1302028
Blocks: stylo-nightly
No longer blocks: stylo
Priority: -- → P2
Getting this on Nathan's radar. Nathan, do you think you'll have cycles for this sometime in Q2? It would be good to have this before we flip stylo on in Nightly.
Blocks: stylo-tooling
No longer blocks: stylo-nightly
Flags: needinfo?(nfroyd)
Summary: stylo: run test-stylo just after generating bindings at build time → run test-stylo just after generating bindings at build time
Whiteboard: [Stylo]
I might.  bug 1331022 is similar, but this bug is slightly different insofar as we want to run it on vendored crates, not just first-party ones.  Are the servo/servo test bots not sufficient in this case because they're not running bindgen'd code?
Flags: needinfo?(nfroyd)
(In reply to Nathan Froyd [:froydnj] from comment #2)
> I might.  bug 1331022 is similar, but this bug is slightly different insofar
> as we want to run it on vendored crates, not just first-party ones.

Are you counting the servo stuff as vendored?

It's worth noting that the only way in which the bindings are at all "vendored" is that build_gecko.rs lives in servo. But bug 1336540 proposes moving it to Gecko, which could kill two birds with one stone.


>  Are the
> servo/servo test bots not sufficient in this case because they're not
> running bindgen'd code?

The primary purpose of the test-stylo stuff is to run all the memory-layout tests that get generated with the bindings (i.e. [1]). That needs to run with every Gecko push, because it's possible to change Gecko headers to break bindgen without touching servo/ at all.


[1] http://searchfox.org/mozilla-central/rev/ee7cfd05d7d9f83b017dd54c2052a2ec19cbd48b/servo/components/style/gecko_bindings/structs_debug.rs#12150
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.