Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

#[test]s on non top-level functions. #29182

Closed
WildCryptoFox opened this issue Oct 20, 2015 · 2 comments
Closed

#[test]s on non top-level functions. #29182

WildCryptoFox opened this issue Oct 20, 2015 · 2 comments
Labels
A-testsuite Area: The testsuite used to check the correctness of rustc C-enhancement Category: An issue proposing an enhancement or a PR with one.

Comments

@WildCryptoFox
Copy link
Contributor

It would be nice if we could implement test cases directly on a type that they test. This is especially useful when generating code (and test cases) with macros.

In the example below, the expected result would be Unit::my_important_test when testing.

struct Unit;

impl Unit {
    #[test]
    fn my_important_test() { /* ... */ }
}

Alternatively one can just create a non_camel_case module sharing the same identifier as the struct. But this looks off for that exact reason. And abuses the bug as reported in #29185.

#[cfg(test)] #[allow(non_camel_case)]
mod Unit {
    #[test]
    fn my_important_test() { /* ... */ }
}
@sfackler sfackler added the A-testsuite Area: The testsuite used to check the correctness of rustc label Oct 20, 2015
@steveklabnik
Copy link
Member

Triage: no change.

@steveklabnik steveklabnik added the C-enhancement Category: An issue proposing an enhancement or a PR with one. label Mar 8, 2017
@steveklabnik
Copy link
Member

Triage: no change. Given that this was filed in 2015, with zero additional comments, I'm going to close this. We have some work underway for more flexible test runners; they may or may not implement this feature, but it doesn't appear like this is something broadly desired nor going to be implemented any time soon.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
A-testsuite Area: The testsuite used to check the correctness of rustc C-enhancement Category: An issue proposing an enhancement or a PR with one.
Projects
None yet
Development

No branches or pull requests

3 participants