rust-lang / libtest

Rust's built-in testing and benchmarking framework
Apache License 2.0
60 stars 21 forks source link

Initial roadmap #2

Open gnzlbg opened 5 years ago

gnzlbg commented 5 years ago

We should come up with a couple of goals for the roadmap of what to do next. The first goal is probably making the crate usable. For that we need to:

To get it running on stable Rust we can just try to stop using unstable Rust features. To get rust-lang/rust to use it, the main blocker was the relationship between #[ignore] and #[test] which was discussed in the internal thread (https://internals.rust-lang.org/t/a-path-forward-towards-re-usable-libtest-functionality-custom-test-frameworks-and-a-stable-bench-macro/9139).

@alexcrichton proposed the following:

I’m not sure I completely follow the trickiness with #[test] and #[ignore] orderings, but it seems to me like we could make both of them procedural macros in the prelude by default perhaps? If both #[test] and #[ignore] were routed to the same procedural macro, it wouldn’t matter which runs first and #[ignore] would just otherwise verify that #[test] exists (removing it).

In the meantime there are also a couple of things that we might want to do, but that's probably better to discuss them in their own issues:

cc @djrenren

euclio commented 5 years ago

I'd suggest replacing term with the termcolor crate instead. That's what rustc and cargo use. (https://github.com/rust-lang/rust/issues/45728)

gnzlbg commented 5 years ago

@euclio that sounds like a great idea !