remove rand (large dependency) and page-size (testing the dependency, not cargo-miri).
keep only byteorder as a "demo" dependency, it is a leaf and builds quickly.
Print one . character per test instead of one line
`./miri bless -- --quiet` now prints a dot per test, along with the regular Rust unit tests that listen to this flag
Add a scheme for always using the default toolchain, running clippy and fmt before running any other command
I keep forgetting to run rustup-toolchain on rebases across toolchain updates
I also keep forgetting to run rustfmt and clippy. The former isn't run by vscode if I don't explicitly save (I have autosave on).
check for extern static size mismatches
Also handle get_alloc_extra the same throughout Stacked Borrows. I don't think this `unwrap` can actually cause an ICE since another part of SB will raise an error before, but still, seems strange to do this inconsistently in retagging vs expose_ptr.
Allow ui tests to have dependencies in a reliable way
This completely sidesteps the issue that compiletest-rs has where old artifacts of a dependency cause `multiple available crates of name XXX` errors. At this point I think we've reached feature parity for clippy, too, so I'm going to try publishing a version once this is merged.
on an error, always print the unnormalized stderr
Currently we skip this if a stderr diff was printed, but the stderr diff is normalized, so e.g. one cannot learn line numbers from it.
Is there a way to get the diff to only print the parts the differ, like a usual `diff -u`? Currently it always seems to print the full output, so with a long stderr we now get doubly long test results even if the diff is actually rather small.
Fix bugs where unique_range became invalid
And also expand the cache integrity checks to cover this case.
I'm going to run this over all the ICEs I've gotten out of Miri recently, could be a bit.
Fixes https://github.com/rust-lang/miri/issues/2389
And also expand the cache integrity checks to cover this case, and
generally assert a lot more about the unique_range, then tighten up
sloppy implementation scenarios that this uncovered.
fix some debugging papercuts
- detect when Miri got locally installed and is being run with the wrong toolchain
- when an ICE occurs, print a backtrace of where the interpreter was at the time