mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-10-27 18:26:19 +00:00
Consider exported_name="main" functions in test modules as tests
This commit is contained in:
parent
2b62d4b2ba
commit
5957835cdf
6 changed files with 94 additions and 22 deletions
|
|
@ -71,7 +71,7 @@ pub fn extract_trivial_expression(block_expr: &ast::BlockExpr) -> Option<ast::Ex
|
|||
///
|
||||
/// It may produce false positives, for example, `#[wasm_bindgen_test]` requires a different command to run the test,
|
||||
/// but it's better than not to have the runnables for the tests at all.
|
||||
pub fn test_related_attribute(fn_def: &ast::Fn) -> Option<ast::Attr> {
|
||||
pub fn test_related_attribute_syn(fn_def: &ast::Fn) -> Option<ast::Attr> {
|
||||
fn_def.attrs().find_map(|attr| {
|
||||
let path = attr.path()?;
|
||||
let text = path.syntax().text().to_string();
|
||||
|
|
@ -83,6 +83,19 @@ pub fn test_related_attribute(fn_def: &ast::Fn) -> Option<ast::Attr> {
|
|||
})
|
||||
}
|
||||
|
||||
pub fn has_test_related_attribute(attrs: &hir::AttrsWithOwner) -> bool {
|
||||
attrs.iter().any(|attr| {
|
||||
let path = attr.path();
|
||||
(|| {
|
||||
Some(
|
||||
path.segments().first()?.as_text()?.starts_with("test")
|
||||
|| path.segments().last()?.as_text()?.ends_with("test"),
|
||||
)
|
||||
})()
|
||||
.unwrap_or_default()
|
||||
})
|
||||
}
|
||||
|
||||
#[derive(Clone, Copy, PartialEq)]
|
||||
pub enum IgnoreAssocItems {
|
||||
DocHiddenAttrPresent,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue