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.
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.This test currently will just silently pass, even though we wanted to check
retdoesn'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.