diff options
author | Simon Sapin <simon.sapin@exyr.org> | 2017-05-18 18:28:25 +0200 |
---|---|---|
committer | Simon Sapin <simon.sapin@exyr.org> | 2017-05-18 18:46:29 +0200 |
commit | ee2794e9667cc7ce0f2ab451f94f9206e4109048 (patch) | |
tree | c6d7a16a94bdf9e79a66548165786b80124c83ad /tests | |
parent | 5e60865d1922a3a9cb813c4c7b4c9908604adfcd (diff) | |
download | servo-ee2794e9667cc7ce0f2ab451f94f9206e4109048.tar.gz servo-ee2794e9667cc7ce0f2ab451f94f9206e4109048.zip |
Move bindings tests out of the style crate.
This cuts in almost half the time to run:
```
touch components/style/lib.rs
./mach test-stylo
```
Diffstat (limited to 'tests')
-rw-r--r-- | tests/unit/stylo/build.rs | 13 | ||||
-rw-r--r-- | tests/unit/stylo/lib.rs | 6 |
2 files changed, 19 insertions, 0 deletions
diff --git a/tests/unit/stylo/build.rs b/tests/unit/stylo/build.rs index fe161688da3..111da70f57e 100644 --- a/tests/unit/stylo/build.rs +++ b/tests/unit/stylo/build.rs @@ -2,6 +2,10 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +use std::env; +use std::fs; +use std::io::Write; +use std::path; use std::process::Command; fn main() { @@ -11,4 +15,13 @@ fn main() { println!("cargo:rerun-if-changed=../../../components/style/gecko_bindings/bindings.rs"); assert!(Command::new("python").arg("./check_bindings.py") .spawn().unwrap().wait().unwrap().success()); + + // https://github.com/rust-lang/cargo/issues/3544 + let style_out_dir = env::var_os("DEP_FOR SOME REASON THE LINKS KEY IS REQUIRED \ + TO PASS DATA AROUND BETWEEN BUILD SCRIPTS_OUT_DIR").unwrap(); + fs::File::create(path::PathBuf::from(env::var_os("OUT_DIR").unwrap()).join("bindings.rs")) + .unwrap() + .write_all(format!("include!(concat!({:?}, \"/gecko/structs_debug.rs\"));", + style_out_dir).as_bytes()) + .unwrap(); } diff --git a/tests/unit/stylo/lib.rs b/tests/unit/stylo/lib.rs index 6527c90609f..05a32869c4e 100644 --- a/tests/unit/stylo/lib.rs +++ b/tests/unit/stylo/lib.rs @@ -17,3 +17,9 @@ mod size_of; mod servo_function_signatures; +use style::*; + +#[allow(dead_code, improper_ctypes)] +mod bindings { + include!(concat!(env!("OUT_DIR"), "/bindings.rs")); +} |