diff options
author | Simon Sapin <simon.sapin@exyr.org> | 2018-10-07 12:13:51 +0200 |
---|---|---|
committer | Simon Sapin <simon.sapin@exyr.org> | 2018-10-07 13:27:23 +0200 |
commit | 1f7ebfc8a2977a54d6ee8cd1777b1cdb410ac719 (patch) | |
tree | f0ed93650f3143536c59077c5bd81064ce160a47 /components/std_test_override/lib.rs | |
parent | 76ddbe4d7afd48b83b23f3fd0cff47b214a0a290 (diff) | |
download | servo-1f7ebfc8a2977a54d6ee8cd1777b1cdb410ac719.tar.gz servo-1f7ebfc8a2977a54d6ee8cd1777b1cdb410ac719.zip |
Make `mach test-unit` not recompile components after `mach build`
Previously, the `tests` feature flag of the `embedder_traits` crate
caused it and every crate recursively depending on it to be built twice.
This feature flag was used to provide a specific set of "resources"
when running tests. Instead, this commits overrides the `main()` function
of the test harness to change resources at runtime before running any test.
This is done by adding a dependency that has `name = "test"` in its
`[lib]` section of `Cargo.toml`. This overrides the crate found by
`extern crate test;` in code generated by `rustc --test`.
Diffstat (limited to 'components/std_test_override/lib.rs')
-rw-r--r-- | components/std_test_override/lib.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/components/std_test_override/lib.rs b/components/std_test_override/lib.rs new file mode 100644 index 00000000000..8d38f6835e5 --- /dev/null +++ b/components/std_test_override/lib.rs @@ -0,0 +1,15 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * 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/. */ + +#![feature(test)] + +extern crate embedder_traits; +extern crate test; + +pub use test::*; + +pub fn test_main_static(tests: &[&TestDescAndFn]) { + embedder_traits::resources::set_for_tests(); + test::test_main_static(tests); +} |