| Crates.io | multiplatform_test |
| lib.rs | multiplatform_test |
| version | 0.5.0 |
| created_at | 2023-04-24 20:38:53.933576+00 |
| updated_at | 2025-03-08 01:08:36.39918+00 |
| description | A simple attribute macro to combine `#[test]` and `#[wasm_bindgen_test]` |
| homepage | |
| repository | https://github.com/hydro-project/hydro |
| max_upload_size | |
| id | 847891 |
| size | 40,198 |
multiplatform_testProvides a proc-macro that expands to testing on platforms relevant to
Hydroflow. By default, expands to testing on the host (using the normal
#[test] attribute) and wasm (using #[wasm_bindgen_test]).
For example, the test
use multiplatform_test::multiplatform_test;
#[multiplatform_test]
fn my_test() {
// ...
}
Expands to
#[test]
#[wasm_bindgen_test::wasm_bindgen_test]
fn my_test() {
// ...
}
[dependencies]
multiplatform_test = * # replace with version.
If you're using wasm naturally you will need to add the wasm_bindgen_test
crate as a dependency.
There are many platforms which can be specified:
test - Adds a standard #[test] attribute.tokio - Adds a #[tokio::test] attribute.async_std - Adds an #[async_std::test] attribute.hydroflow - Adds a #[dfir_rs::test] attribute.wasm - Adds a #[wasm_bindgen_test::wasm_bindgen_test] attribute.env_logging - Registers env_logger for logging.env_tracing - Registers a FmtSubscriber with an EnvFilter for tracing.You can test on a subset of platforms by passing in the platforms in parens:
use multiplatform_test::multiplatform_test;
#[multiplatform_test(test, env_logging)] // Only test on the standard `#[test]` platform, but enables logging
fn my_test() {
// ...
}
expands to
use multiplatform_test::multiplatform_test;
#[test]
fn my_test() {
let _ = env_logger::builder().is_test(true).try_init();
// ...
}