Commit Graph

6706 Commits

Author SHA1 Message Date
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
bors 9ecdc9ea61 Auto merge of #2381 - rust-lang:infra, r=RalfJung
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).
2022-07-21 00:38:37 +00:00
Ralf Jung 4d4eeca8a8 fix miri script 2022-07-20 20:38:08 -04:00
Oli Scherer 517e1d78b8 Add a scheme for always using the default toolchain, running clippy and fmt before running any other command 2022-07-20 20:38:08 -04:00
bors e8c4c9af9c Auto merge of #2404 - RalfJung:mix, r=RalfJung
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.
2022-07-20 22:32:41 +00:00
Ralf Jung 9f99d10689 some stray tag → prov renames 2022-07-20 18:32:03 -04:00
Ralf Jung e649a9acfb check for extern static size mismatches 2022-07-20 18:32:03 -04:00
Ralf Jung 59f9a918ed handle get_alloc_extra the same throughout Stacked Borrows 2022-07-20 17:57:31 -04:00
bors 167e5dcad3 Auto merge of #2403 - RalfJung:rustup, r=RalfJung
rustup
2022-07-20 20:11:10 +00:00
Ralf Jung ff4666f39c rustup 2022-07-20 16:02:06 -04:00
bors 7975391808 Auto merge of #2402 - RalfJung:cargo-target, r=RalfJung
cargo-miri: reorder --target to after the user-defined commands

This should help with https://github.com/rust-lang/miri/pull/2398.
2022-07-20 19:47:48 +00:00
Ralf Jung c81cfe240a cargo-miri: reorder --target to after the user-defined commands 2022-07-20 15:47:09 -04:00
bors 1366bf6b07 Auto merge of #2373 - rust-lang:test_dependencies, r=RalfJung
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.
2022-07-20 15:59:21 +00:00
Oli Scherer ab6fb9d2aa Allow tests to have dependencies 2022-07-20 15:54:35 +00:00
bors d5e199f441 Auto merge of #2401 - RalfJung:dyn, r=RalfJung
fix test file name

Would be better to run this test when doing `./miri test dyn`.
2022-07-20 15:27:42 +00:00
Ralf Jung e0514508b4 fix test file name 2022-07-20 11:27:04 -04:00
bors 0844e46049 Auto merge of #2391 - RalfJung:stderr, r=oli-obk
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.
2022-07-20 12:39:21 +00:00
bors 90fbdadade Auto merge of #2399 - RalfJung:subcommands, r=RalfJung
no need for an exhaustive enum of subcommands
2022-07-20 11:43:38 +00:00
Ralf Jung e12a721d84 no need for an exhaustive enum of subcommands 2022-07-20 07:42:56 -04:00
bors ebda1deb7b Auto merge of #2397 - RalfJung:cleanup, r=RalfJung
only do env var cleanup if all threads have stopped

Hopefully fixes https://github.com/rust-lang/miri/issues/2396
2022-07-20 02:12:09 +00:00
Ralf Jung 5fbf036670 only do env var cleanup if all threads have stopped 2022-07-19 21:44:45 -04:00
bors ddde70c121 Auto merge of #2394 - saethlin:unique-range-ice, r=RalfJung
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
2022-07-20 01:39:40 +00:00
Ben Kimock 4268918a50 Clarify implementation a bit 2022-07-19 20:53:48 -04:00