Skip to content

Explain the different style of tests in CONTRIBUTING.md #24802

Closed
@tbelaire

Description

@tbelaire

I feel like it would be really helpful if the different kinds of tests were explained nicely somewhere, since there are a lot of different kinds, and it's a little hard to guess which kind I'll need to write, so I have to look at a lot of examples each time.

In particular, the semantics of the lines such as:

 //~^ HELP ...

are clear enough when reading, but I'm not really sure how it works in detail.
For example, in src/test/parse-fail/mod_file_not_exists.rs has on line 14

 //~^ HELP name the file either not_a_real_file.rs or not_a_real_file/mod.rs inside the directory

but the actual error message is

help: name the file either not_a_real_file.rs or not_a_real_file/mod.rs inside the directory ""

With the extra "" at the end, so is it some sort of fuzzy match, or just prefix or what? Also when do you chose between //~ and //~^, is that only for placing the comment and are these the same:

foo //~ HELP whatever
foo
//~^ HELP whatever

Or is there more going on?

It'd also be quite nice to have a one line summary of the different test types, clarifying how compile-fail-fulldeps is different from compile-fail, etc. I know I can figure it out given long enough, but it'd save a lot of time. Thanks!

auxiliary
bench
codegen
compile-fail
compile-fail-fulldeps
debuginfo
parse-fail
pretty
run-fail
run-make
run-pass
run-pass-fulldeps
run-pass-valgrind
rustdoc

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions