aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorSimon Sapin <simon.sapin@exyr.org>2017-05-18 18:28:25 +0200
committerSimon Sapin <simon.sapin@exyr.org>2017-05-18 18:46:29 +0200
commitee2794e9667cc7ce0f2ab451f94f9206e4109048 (patch)
treec6d7a16a94bdf9e79a66548165786b80124c83ad /tests
parent5e60865d1922a3a9cb813c4c7b4c9908604adfcd (diff)
downloadservo-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.rs13
-rw-r--r--tests/unit/stylo/lib.rs6
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"));
+}