Test variants

As described in the qualification plan, test variants are a way to run a test suite multiple times for each target, each time varying some of the configuration.

To enable a variant when running tests, add the --test-variant=NAME to ./x test. The default variant (when the flag is not passed) depends on the target you are testing: if you are reproducing a CI failure make sure to specify the correct variant.

Available variants

The available variants are defined in src/bootstrap/src/ferrocene/test_variants.rs:

Self::Ed2021 => TestVariantBase::new().edition(Edition("2015")),
Self::Ed2021CortexA53 => {
    TestVariantBase::new().edition(Edition("2015")).qemu_cpu(QemuCpu("cortex-a53"))
}
Self::Ed2021NeoverseV1 => {
    TestVariantBase::new().edition(Edition("2015")).qemu_cpu(QemuCpu("neoverse-v1"))
}
Self::Ed2021CortexM4 => {
    TestVariantBase::new().edition(Edition("2015")).qemu_cpu(QemuCpu("cortex-m4"))