Skip to content

compiletest: tests using revisions treat files with just //~ ERROR has having no errors #55695

Description

@pnkfelix

The revision system lets compiletest encode different sets of errors for different invocations of the compiler.

and compiletest normally attempts to catch cases where you left out expected error messages by saying "if you have any //~ ERROR ... annotation in your file, then the set of such annotations needs to match the same set of errors that are actually emitted.

However, if you combine these features, then for each revision (call it rev) in the revisions list, at least one of your errors currently need to be written with the revision system in mind, e.g. //[rev]~ ERROR ...

If none of the error annotations include a revision (i.e., if they are all //~ ERROR ...), then compiletest thinks that the test has no error annotations, and thus treats it as a case where the compiler's error output is blindly accepted.

That seems bad.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-testsuiteArea: The testsuite used to check the correctness of rustcT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions