Skip to content

Deny special FileCheck suffixes being used as revision names. #130982

@jieyouxu

Description

@jieyouxu

FileCheck expects directives like:

// COM:
// CHECK:
// CHECK-NEXT:
// CHECK-SAME:
// CHECK-EMPTY:
// CHECK-NOT:
// CHECK-COUNT:
// CHECK-DAG:
// CHECK-LABEL:

compiletest supports //@ revisions: a b c and passes the revision names as --check-prefixes=a,b,c to FileCheck. They look like

// a:
// b-NOT:
// c-SAME:

However, FileCheck has special default/reserved prefixes like CHECK or COM, and if the test writer uses those as revision names, it becomes really confusing: //@ revisions: CHECK COM. We should deny those.

Also we should deny NEXT, SAME, EMPTY, NOT, COUNT, DAG and LABEL, because

// next:
// same-SAME:
// not-NOT:

is equally confusing.


Related to:

Metadata

Metadata

Assignees

Labels

A-compiletestArea: The compiletest test runnerC-bugCategory: This is a bug.E-mediumCall for participation: Medium difficulty. Experience needed to fix: Intermediate.T-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)

Type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions