Commit Graph

6828 Commits

Author SHA1 Message Date
Ralf Jung
649b216482 add a flag to print a diagnostic when an outdated value is returned from an atomic load 2022-07-23 09:39:02 -04:00
Ralf Jung
7f6034862d pass clippy::cast_possible_truncation 2022-07-23 09:14:13 -04:00
Ralf Jung
b67a6ff099 pass clippy::cast_sign_loss and clippy::cast_possible_wrap 2022-07-23 09:13:38 -04:00
Ralf Jung
3f0fdf290f pass clippy::cast_lossless 2022-07-23 09:13:38 -04:00
bors
b9aad98a3b Auto merge of #2420 - RalfJung:num_cpus, r=RalfJung
move num_cpus test from test-cargo-miri to crate test
2022-07-23 00:57:07 +00:00
Ralf Jung
34922be801 remove num_cpus test from test-cargo-miri 2022-07-22 20:54:23 -04:00
Ralf Jung
00b382d1a5 add num_cpus crate test 2022-07-22 20:54:10 -04:00
bors
963f08b702 Auto merge of #2418 - RalfJung:track, r=RalfJung
add more track_caller tests

Suggested by `@eddyb`
2022-07-22 14:43:42 +00:00
Ralf Jung
1787c731ab add more track_caller tests 2022-07-22 10:43:28 -04:00
bors
cc6439df69 Auto merge of #2415 - RalfJung:cargo-miri, r=oli-obk
support MIRI_HOST_SYSROOT env var for stage 0 builds

Together with a [patch on the rustc side](https://github.com/rust-lang/rust/pull/99599), this makes `./x.py test src/tools/miri --stage 0` work again. :)

r? `@oli-obk`
2022-07-22 14:07:17 +00:00
bors
595cad929c Auto merge of #2035 - RalfJung:small-bitmask, r=RalfJung
portable-simd: test bitmasks smaller than a byte

Blocked on https://github.com/rust-lang/portable-simd/pull/267 propagating to the [rustc repo](https://github.com/rust-lang/rust/tree/master/library/portable-simd)
2022-07-22 13:36:24 +00:00
Ralf Jung
45eeaa362b rustup 2022-07-22 09:35:53 -04:00
Ralf Jung
e8b3d56565 test bitmasks smaller than a byte 2022-07-22 08:35:59 -04:00
Ralf Jung
83cbbd7bce support MIRI_HOST_SYSROOT env var for stage 0 builds
Together with a patch on the rustc side, this makes './x.py test src/tools/miri --stage 0' work again. :)
2022-07-22 08:35:12 -04:00
bors
1cb9ccb284 Auto merge of #2384 - RalfJung:vtables, r=RalfJung
adjust for symbolic vtables

The Miri side of https://github.com/rust-lang/rust/pull/99420
2022-07-22 11:55:00 +00:00
Ralf Jung
16b15ec9c9 rustup 2022-07-22 07:54:36 -04:00
Ralf Jung
bd441b1eb9 test for some bad use of vtables 2022-07-22 07:54:36 -04:00
Ralf Jung
a6b35412d8 adjust for symbolic vtables 2022-07-22 07:18:34 -04:00
bors
9cab7979f8 Auto merge of #2414 - RalfJung:cargo-miri, r=RalfJung
A bit of cargo-miri cleanup
2022-07-21 21:08:02 +00:00
Ralf Jung
fb428dfee3 avoid redundant setting of env vars in phase_runner 2022-07-21 17:06:33 -04:00
Ralf Jung
7c99f90271 cargo-miri: clean up phase dispatching a bit 2022-07-21 17:06:32 -04:00
bors
dac1676eb3 Auto merge of #2413 - RalfJung:norm, r=RalfJung
normalize stronger

rustc CI has the cargo stuff in `/cargo/...`, so we also need to handle that path.
2022-07-21 19:37:34 +00:00
Ralf Jung
e3018b8a97 normalize stronger 2022-07-21 15:36:39 -04:00
bors
5a65595883 Auto merge of #2412 - RalfJung:x.py-fix, r=RalfJung
cargo-miri x.py fix

Fix for https://github.com/rust-lang/rust/pull/99530#issuecomment-1191768658
Also make the debugging output consistent.
2022-07-21 18:21:30 +00:00
Ralf Jung
e286dfa7d3 don't force target-dir (cargo-miri already deconflicts that) 2022-07-21 14:08:07 -04:00
Ralf Jung
4030210aa1 we don't need unstable options 2022-07-21 14:08:07 -04:00
Ralf Jung
d43e12e412 say what we are doing 2022-07-21 14:08:07 -04:00
Ralf Jung
309413717f cargo-miri debugging improvements 2022-07-21 14:08:07 -04:00
bors
69a4eaa187 Auto merge of #2410 - rust-lang:miri_auto_ops, r=RalfJung
Some cleanups and docs around the auto ops
2022-07-21 15:31:40 +00:00
Oli Scherer
9e7f3cdc36 Document MIRI_AUTO_OPS 2022-07-21 15:07:07 +00:00
Oli Scherer
bfa2ff646c Use a MIRI namespaced env var name for auto ops 2022-07-21 15:04:02 +00:00
Oli Scherer
392342fcaf Avoid rustformatting on autosave 2022-07-21 15:03:54 +00:00
bors
46d309f424 Auto merge of #2408 - RalfJung:deps, r=oli-obk
make test-cargo-miri only about cargo

Move the things that actually test dependency behavior into the regular test suite, now that we can do that. :)
2022-07-21 15:00:08 +00:00
Ralf Jung
5e4b646457 aarch inline asm is not stable yet 2022-07-21 10:52:52 -04:00
bors
ed76d20afd Auto merge of #2409 - RalfJung:cargo-miri-rustc, r=RalfJung
cargo-miri: set RUSTC to us

Works around https://github.com/rust-lang/cargo/issues/10885.
2022-07-21 14:37:10 +00:00
Ralf Jung
bb52965b73 make the find_miri returned path actually exist 2022-07-21 10:36:55 -04:00
Ralf Jung
0a9feb3c9f some more debug output 2022-07-21 10:04:16 -04:00
Ralf Jung
929712c49c reduce chance of RUSTC collisions 2022-07-21 09:36:59 -04:00
Ralf Jung
7cd1d78a47 only complain about runtime toolchain mismatch when there actually is a runtime toolchain 2022-07-21 09:30:09 -04:00
Ralf Jung
800273c1d9 cargo-miri: set RUSTC to us 2022-07-21 09:20:46 -04:00
Ralf Jung
b1b368c30e test page_size via test dependency support
and move crate tests to their own folders
2022-07-21 09:04:35 -04:00
Ralf Jung
8fa1542878 make test-cargo-miri only about cargo
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.
2022-07-21 08:44:34 -04:00
bors
0f973bdf2d Auto merge of #2405 - RalfJung:pwd, r=RalfJung
fix auto-toolchain pwd

`rustup-toolchain` needs to be called in the right directory
2022-07-21 11:20:53 +00:00
Ralf Jung
7c30ba183c fix auto-toolchain pwd 2022-07-21 07:19:56 -04:00
bors
3800933ff0 Auto merge of #2383 - rust-lang:dot_mode, r=oli-obk
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
2022-07-21 07:40:32 +00:00
Oli Scherer
ecacc56843 Use names suggestive of channel endpoints 2022-07-21 07:39:54 +00:00
Oli Scherer
68041b42fc Print one character per test instead of one line 2022-07-21 07:35:49 +00:00
Oli Scherer
30931eeecb Add a dedicated thread for output printing 2022-07-21 07:35:49 +00:00
bors
084e02fd08 Auto merge of #2398 - sunshowers:nextest-compat, r=RalfJung
[cargo-miri] support nextest

Add the ability to run `cargo miri nextest list` and `cargo miri nextest run`.

[cargo-nextest](https://nexte.st) is a new test runner for Rust maintained mostly by myself. It has several new features, but the most relevant to miri is the fact that it runs [each test in its own process](https://nexte.st/book/how-it-works.html#the-nextest-model). This gives miri users better leak detection (https://github.com/rust-lang/miri/issues/1481) for free, for example.

See https://github.com/nextest-rs/nextest/issues/181 for discussion, including comments by `@eddyb` and `@RalfJung.`

Future work might be to have miri read [the list of tests](https://docs.rs/nextest-metadata/latest/nextest_metadata/struct.TestListSummary.html) (or [test binaries](https://docs.rs/nextest-metadata/latest/nextest_metadata/struct.BinaryListSummary.html)) generated by `nextest list`. `@eddyb` thinks that might be useful.

I tested `cargo miri nextest run` against smallvec, and it worked great.

Note: Running tests out of archives is currently broken, as the comment in run-test.py explains.
2022-07-21 01:52:14 +00:00
Rain
88ad9ca906 [cargo-miri] support nextest
Add the ability to run the `list` and `run` nextest commands, which
enable per-test isolation.
2022-07-20 18:44:20 -07:00