In theory, this command should run cargo test for all of the compiler crates in compiler/:
# (stage 0 isn't essential, but it's faster than using a later stage)
./x test compiler --stage=0
Instead, it just prints this message and exits successfully:
cranelift not in rust.codegen-backends. skipping
This seems to be because test::CodegenCranelift::should_run registers compiler/rustc_codegen_cranelift as its path, which has the side-effect of hijacking compiler in bootstrap's wacky path-resolution logic. That prevents test::CrateLibrustc from running, which is what would run the unit tests for the vast majority of compiler crates.
The same problem is also theoretically present for test::CodegenGCC, though currently the cranelift step takes priority for whatever reason.
In theory, this command should run
cargo testfor all of the compiler crates incompiler/:Instead, it just prints this message and exits successfully:
This seems to be because
test::CodegenCranelift::should_runregisterscompiler/rustc_codegen_craneliftas its path, which has the side-effect of hijackingcompilerin bootstrap's wacky path-resolution logic. That preventstest::CrateLibrustcfrom running, which is what would run the unit tests for the vast majority of compiler crates.The same problem is also theoretically present for
test::CodegenGCC, though currently the cranelift step takes priority for whatever reason.