Skip to content

Lint on FileCheck directives with missing colon #130981

Description

@jieyouxu

In current compiletest -> FileCheck setup (e.g. codegen/assembly tests), if you forgor a colon : in one of the FileCheck directives, it gets silently ignored by both compilest and FileCheck, meaning that you aren't testing anything.

// tests/assembly/selftest.rs

//@ assembly-output: emit-asm

#![crate_type = "lib"]

// CHECK-LABEL: foo:
//-- CHECK-LABEL: bar: # <- make sure this test is actually testing
// CHECK-NOT ret       # <- notice the missing `:`?
#[no_mangle]
pub fn foo(x: u8) {}

This test currently will just silently pass, even though we wanted to check ret doesn't exist (made-up example for illustration purposes). Realized while reviewing #128018.

Example missing colon (real example): #125626.

We should probably aim to lint on cases like this.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-compiletestArea: The compiletest test runnerA-testsuiteArea: The testsuite used to check the correctness of rustcC-enhancementCategory: An issue proposing an enhancement or a PR with one.T-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)

    Projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions