Capturing `#[test]` when `harness = false` in `Cargo.toml`

#1

I’m researching the options I have to make my testing framework (https://github.com/commure/datatest) to work on stable, and one of the challenges I have is to make it work nicely with existing #[test]/#[bench] tests.

Currently it uses unstable #![test_runner(datatest::runner)] attribute (https://github.com/rust-lang/rust/issues/50297), but that only works on nightly. It captures existing #[test]/#[bench] tests just fine (with some caveats, but it does) – these work as expected, you can mix and match datatest:: tests and standard ones.

On stable, however, it’s a different story. It seems I can use harness = false in Cargo.toml to provide my own testing harness, but everything annotated with #[test] or #[bench] just disappears from the code if harness = false.

Any ideas how can I support these?