Mention `RUSTC_BOOTSTRAP` for misc testing (#2136)
This commit is contained in:
parent
1f42c533c9
commit
65e7344ebb
|
|
@ -32,6 +32,7 @@
|
||||||
- [Rust for Linux](./tests/rust-for-linux.md)
|
- [Rust for Linux](./tests/rust-for-linux.md)
|
||||||
- [Performance testing](./tests/perf.md)
|
- [Performance testing](./tests/perf.md)
|
||||||
- [Suggest tests tool](./tests/suggest-tests.md)
|
- [Suggest tests tool](./tests/suggest-tests.md)
|
||||||
|
- [Misc info](./tests/misc.md)
|
||||||
- [Debugging the compiler](./compiler-debugging.md)
|
- [Debugging the compiler](./compiler-debugging.md)
|
||||||
- [Using the tracing/logging instrumentation](./tracing.md)
|
- [Using the tracing/logging instrumentation](./tracing.md)
|
||||||
- [Profiling the compiler](./profiling.md)
|
- [Profiling the compiler](./profiling.md)
|
||||||
|
|
|
||||||
|
|
@ -155,6 +155,10 @@ chapter](ecosystem.md) for more details.
|
||||||
A separate infrastructure is used for testing and tracking performance of the
|
A separate infrastructure is used for testing and tracking performance of the
|
||||||
compiler. See the [Performance testing chapter](perf.md) for more details.
|
compiler. See the [Performance testing chapter](perf.md) for more details.
|
||||||
|
|
||||||
|
## Miscellaneous information
|
||||||
|
|
||||||
|
There are some other useful testing-related info at [Misc info](misc.md).
|
||||||
|
|
||||||
## Further reading
|
## Further reading
|
||||||
|
|
||||||
The following blog posts may also be of interest:
|
The following blog posts may also be of interest:
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,40 @@
|
||||||
|
# Miscellaneous testing-related info
|
||||||
|
|
||||||
|
## `RUSTC_BOOTSTRAP` and stability
|
||||||
|
|
||||||
|
<!-- date-check: Nov 2024 -->
|
||||||
|
|
||||||
|
This is a bootstrap/compiler implementation detail, but it can also be useful
|
||||||
|
for testing:
|
||||||
|
|
||||||
|
- `RUSTC_BOOTSTRAP=1` will "cheat" and bypass usual stability checking, allowing
|
||||||
|
you to use unstable features and cli flags on a stable `rustc`.
|
||||||
|
- `RUSTC_BOOTSTRAP=-1` will force a given `rustc` to pretend that is a stable
|
||||||
|
compiler, even if it's actually a nightly `rustc`. This is useful because some
|
||||||
|
behaviors of the compiler (e.g. diagnostics) can differ depending on whether
|
||||||
|
the compiler is nightly or not.
|
||||||
|
|
||||||
|
In `ui` tests and other test suites that support `//@ rustc-env`, you can specify
|
||||||
|
|
||||||
|
```rust,ignore
|
||||||
|
// Force unstable features to be usable on stable rustc
|
||||||
|
//@ rustc-env:RUSTC_BOOTSTRAP=1
|
||||||
|
|
||||||
|
// Or force nightly rustc to pretend it is a stable rustc
|
||||||
|
//@ rustc-env:RUSTC_BOOTSTRAP=-1
|
||||||
|
```
|
||||||
|
|
||||||
|
For `run-make` tests, `//@ rustc-env` is not supported. You can do something
|
||||||
|
like the following for individual `rustc` invocations.
|
||||||
|
|
||||||
|
```rust,ignore
|
||||||
|
use run_make_support::rustc;
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
rustc()
|
||||||
|
// Pretend that I am very stable
|
||||||
|
.env("RUSTC_BOOTSTRAP", "-1")
|
||||||
|
//...
|
||||||
|
.run();
|
||||||
|
}
|
||||||
|
```
|
||||||
Loading…
Reference in New Issue