I've used conditional compilation to change the type signature of a function, and now the same doctest can't be run for both "feature" modes, so I need a way to opt-out of the doctests.
I've tried merging #[cfg_attr(feature = "rss_loose", ignore)]
used in normal tests and ///rust,ignore
to make ///rust,cfg_attr(feature = "rss_loose", ignore)
but this doesn't seem to work.
Just write two different sets of documentation and tests and it will all work as-is:
/// ```
/// assert_eq!(42, dt::foo());
/// ```
#[cfg(not(feature = "alternate"))]
pub fn foo() -> u8 { 42 }
/// ```
/// assert_eq!(true, dt::foo());
/// ```
#[cfg(feature = "alternate")]
pub fn foo() -> bool { true }
$ cargo test
Compiling dt v0.1.0 (file:///private/tmp/dt)
Running target/debug/dt-c3e297f8592542b5
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured
Doc-tests dt
running 1 test
test foo_0 ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured
$ cargo test --features=alternate
Compiling dt v0.1.0 (file:///private/tmp/dt)
Running target/debug/dt-c3e297f8592542b5
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured
Doc-tests dt
running 1 test
test foo_0 ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With