From 1b77f82c4454f3475aba58f8f0623486b6ef3e14 Mon Sep 17 00:00:00 2001 From: Marco Castelluccio Date: Wed, 2 Oct 2019 00:17:31 +0000 Subject: [PATCH] servo: Merge #18489 - align selectors's features in geckolib and stylo_tests (from froydnj:geckolib-feature-alignment); r=froydnj Gecko would like to turn on the stylo layout tests (tests/unit/stylo) in Gecko CI. The plan for doing this is to add the tests as a dev-dependency of Gecko's main Rust library, from which `cargo test` can be run in the usual fashion. Doing this creates problems for normal development, because the stylo tests need the `selectors` crate to be compiled with `gecko_like_types`, whereas the `geckolib` crate does not. So if we compile `geckolib` in a non-test build configuration, the `selectors` crate is compiled without `gecko_like_types`...but then if we compile `geckolib` in a test build configuration, cargo will evict the previous rlib for the `selectors` crate and replace it with a `selectors` compiled with gecko_like_types. And then compiling `geckolib` in a non-test configuration repeats the process, and so forth. Needless to say, this is highly annoying behavior. It is due to a bug in cargo: https://github.com/rust-lang/cargo/issues/3923 but it's not known when that bug will get fixed. In the meantime, we can just make sure that geckolib's `selectors` is compiled with the same features as the `selectors` crate in the stylo tests. - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors Source-Repo: https://github.com/servo/servo Source-Revision: 1aa8be392b0ab8e7a8426f525361b40b69d70b4f UltraBlame original commit: 962216b7844402a956a9b410fed0567506f96261 --- servo/ports/geckolib/Cargo.toml | 61 +++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/servo/ports/geckolib/Cargo.toml b/servo/ports/geckolib/Cargo.toml index 0a994ce2163a8..138798b9f2875 100644 --- a/servo/ports/geckolib/Cargo.toml +++ b/servo/ports/geckolib/Cargo.toml @@ -196,6 +196,60 @@ parking_lot . 4 " +# +Turn +on +gecko_like_types +because +of +so +that +crates +which +use +this +# +crate +and +also +dev +- +depend +on +stylo_tests +get +reasonable +behavior +# +during +rebuilds +. +See +https +: +/ +/ +github +. +com +/ +rust +- +lang +/ +cargo +/ +issues +/ +3923 +# +for +the +cargo +problem +behind +this +. selectors = { @@ -212,6 +266,13 @@ components / selectors " +features += +[ +" +gecko_like_types +" +] } servo_arc =