mirror of
https://github.com/servo/servo.git
synced 2025-10-08 20:49:24 +01:00
Run bindings tests with whole crate We currently run bindgen's autogenerated `#[test]` blocks directly on the structs files. That is, after generating them, we run `rustc --test` on them. This works fine for now, but if you want to refer to types defined outside of these files (e.g. in https://bugzilla.mozilla.org/show_bug.cgi?id=1309165), the tests are broken. This puts a `cargo test -p style` in `./mach test-stylo`. I disabled doctests because they were failing (unable to find the `ns!()` and `atom!()` macros), and I couldn't figure out why -- will investigate in a later bug. r? @emilio <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13700) <!-- Reviewable:end --> |
||
---|---|---|
.. | ||
.gitignore | ||
check_bindings.py | ||
README.md | ||
regen.py | ||
regen.sh | ||
regen_atoms.py | ||
setup_bindgen.sh |
Geckolib tools
This directory contains simple tools for generating the Rust bindings for stylo.
setup_bindgen.sh
This clones Servo's version of bindgen, and uses llvm-3.8
library to build it. It will then be used to generate the Rust bindings.
regen.sh
This will regenerate the bindings for the ServoBindings.h
file in your gecko
build. The generated bindings live in components/style/gecko_bindings/bindings.rs
. For structs, the bindings are in components/style/gecko_bindings/structs_*