mirror of
https://github.com/servo/servo.git
synced 2025-07-22 23:03:42 +01:00
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 ```
This commit is contained in:
parent
5e60865d19
commit
ee2794e966
6 changed files with 25 additions and 7 deletions
|
@ -7,6 +7,9 @@ publish = false
|
|||
|
||||
build = "build.rs"
|
||||
|
||||
# https://github.com/rust-lang/cargo/issues/3544
|
||||
links = "for some reason the links key is required to pass data around between build scripts"
|
||||
|
||||
[lib]
|
||||
name = "style"
|
||||
path = "lib.rs"
|
||||
|
|
|
@ -83,6 +83,7 @@ fn generate_properties() {
|
|||
|
||||
fn main() {
|
||||
println!("cargo:rerun-if-changed=build.rs");
|
||||
println!("cargo:out_dir={}", env::var("OUT_DIR").unwrap());
|
||||
generate_properties();
|
||||
build_gecko::generate();
|
||||
}
|
||||
|
|
|
@ -61,7 +61,7 @@ extern crate log;
|
|||
extern crate matches;
|
||||
#[cfg(feature = "gecko")]
|
||||
#[macro_use]
|
||||
extern crate nsstring_vendor as nsstring;
|
||||
pub extern crate nsstring_vendor as nsstring;
|
||||
#[cfg(feature = "gecko")] extern crate num_cpus;
|
||||
extern crate num_integer;
|
||||
extern crate num_traits;
|
||||
|
|
|
@ -299,13 +299,8 @@ class MachCommands(CommandBase):
|
|||
env["CARGO_TARGET_DIR"] = path.join(self.context.topdir, "target", "geckolib").encode("UTF-8")
|
||||
|
||||
release = ["--release"] if release else []
|
||||
ret = 0
|
||||
with cd(path.join("ports", "geckolib")):
|
||||
ret = call(["cargo", "test", "-p", "stylo_tests", "--features", "testing"] + release, env=env)
|
||||
if ret != 0:
|
||||
return ret
|
||||
with cd(path.join("ports", "geckolib")):
|
||||
return call(["cargo", "test", "-p", "style"] + release, env=env)
|
||||
return call(["cargo", "test", "-p", "stylo_tests", "--features", "testing"] + release, env=env)
|
||||
|
||||
@Command('test-compiletest',
|
||||
description='Run compiletests',
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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"));
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue