@@ -42,8 +42,10 @@ case), and we don't need type information so it will have an early pass type
42
42
` cargo dev new_lint --name=foo_functions --pass=early --category=pedantic `
43
43
(category will default to nursery if not provided). This command will create
44
44
two files: ` tests/ui/foo_functions.rs ` and ` clippy_lints/src/foo_functions.rs ` ,
45
- as well as run ` cargo dev update_lints ` to register the new lint. Next, we'll
46
- open up these files and add our lint!
45
+ as well as run ` cargo dev update_lints ` to register the new lint. For cargo lints,
46
+ two project hierarchies (fail/pass) will be created under ` tests/ui-cargo ` .
47
+
48
+ Next, we'll open up these files and add our lint!
47
49
48
50
## Testing
49
51
@@ -105,6 +107,19 @@ our lint, we need to commit the generated `.stderr` files, too. In general, you
105
107
should only commit files changed by ` tests/ui/update-all-references.sh ` for the
106
108
specific lint you are creating/editing.
107
109
110
+ ### Cargo lints
111
+
112
+ For cargo lints, the process of testing differs in that we are interested in
113
+ the contents of the ` Cargo.toml ` files. If our new lint is named e.g. ` foo_categories ` ,
114
+ after running ` cargo dev new_lint ` we will find two new manifest files:
115
+
116
+ * ` tests/ui-cargo/foo_categories/fail/Cargo.toml ` : this file should cause the new lint to raise an error.
117
+ * ` tests/ui-cargo/foo_categories/pass/Cargo.toml ` : this file should not trigger the lint.
118
+
119
+ The process of generating the ` .stderr ` file is the same, and prepending the ` TESTNAME `
120
+ variable to ` cargo uitest ` works too, but the script to update the references
121
+ is in another path: ` tests/ui-cargo/update-all-references.sh ` .
122
+
108
123
## Rustfix tests
109
124
110
125
If the lint you are working on is making use of structured suggestions, the
0 commit comments