Open
Description
Proposal
I'd like to filter my tests based on a more complex pattern than just substring.
The current behavior of rust tests is that when a pattern is specified, then only tests that contain that pattern as a substring are run.
cargo test -- foo
will run only tests that contain the substring foo
.
I propose to amend this to allow for a regex syntax.
cargo test -- /regex/
which will run tests that match the regex regex
.
This is "technically" a breaking change because it's possible that people are already using filters with slashes in them, but since test names can't contain slashes these invocations would always be running 0 tests.
Misc
- Let me know if this should be an RFC. The feature seems pretty small, but I'd understand if it should be more speced out.
- I'd be happy to implement this if people are interested.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
No status
Milestone
Relationships
Development
No branches or pull requests
Activity
ririsoft commentedon Oct 11, 2019
Hello,
I came to this issue while trying to run only one test in a test suite with several tests sharing the same base name. Coming from Go I wanted to run a test with
foo$
for instance.However reading this comment on Cargo, I discovered the
--exact
option that perfectly suite my needs.While I believe this feature request would be a plus, I recognize that the substring feature is enough for me so far.
kennytm commentedon Sep 24, 2020
We could make it truly backward-compatible by introducing a
--regex
flag like the existing--exact
flag (#38181)One potential issue is that this makes
libtest
depends onregex
.chore(ci): Add transforms-metric_to_log transform dependency to sink-…
chore(ci): Add transforms-metric_to_log transform dependency to sink-…
chore(ci): Add transforms-metric_to_log transform dependency to sink-…
Jasonoro commentedon Nov 25, 2020
This looks like useful functionality, and I would like to take a stab at trying to implement it. Using a
--regex
flag seems like a good idea.@kennytm You said that making
libtest
depend onregex
might be an issue. Do you have any idea on who to ping to find out if this is a big issue or not? The dev guide just has aTODO
there, and while theregex
crate is approved I'd like to get some clarification on that.@rustbot claim
chore(ci): Add transforms-metric_to_log transform dependency to sink-…
Jasonoro commentedon Feb 7, 2021
This is currently blocked on rust-lang/regex#476, due to the fact that
regex
requiresstd
which isn't available when buildinglibtest
. See also the following zulipchat conversation.Jasonoro commentedon Feb 15, 2021
Some more discussion has been started in this conversation. I'll update the issue when a conclusion has been reached.
6 remaining items