Crate multiplatform_test
source ·Expand description
§multiplatform_test
Provides 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() {
  // ...
}§Installation
[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.
§Usage
§Specifying platforms
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- #[hydroflow::test]attribute.
- wasm- Adds a- #[wasm_bindgen_test::wasm_bindgen_test]attribute.
- env_logging- Registers- env_loggerfor- logging.
- env_tracing- Registers a- FmtSubscriberwith an- EnvFilterfor- 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();
  // ...
}Attribute Macros§
- See the crate docs for usage information.