Ralf Jung
b99d7bc77f
avoid intermediate allocations in show_error macro
2022-08-08 11:35:54 -04:00
Ralf Jung
1164815750
make cargo-miri show_error a bit nicer to use
2022-08-08 11:32:49 -04:00
Ralf Jung
0f1ce43502
clarifying comments for target-dir handling
2022-08-07 11:53:25 -04:00
Ralf Jung
366d11b2d8
enable rustc lints
...
(but not in cargo-miri and ui_test)
2022-08-07 09:45:42 -04:00
Ralf Jung
08e7d94562
avoid some string copies...
2022-08-06 21:31:40 -04:00
Ralf Jung
465538245a
reuse arg flag parse logic in rustdoc handling
2022-08-06 19:42:32 -04:00
Ralf Jung
e12df0f404
also forward --manifest-path to 'cargo metadata'
2022-08-06 19:42:32 -04:00
Ralf Jung
29e9a8aa1a
split cargo-miri into multiple files
...
also greatly extend the 'who calls who' comment
2022-08-02 22:01:03 -04:00
Ralf Jung
f6badf037e
rustup
2022-08-01 09:27:34 -04:00
Aleksei Trifonov
01a6109925
Fix formatting
2022-07-29 14:42:42 +03:00
Aleksei Trifonov
38e7bcf7f1
Use cargo_metadata in cargo-miri
2022-07-29 05:25:59 +03:00
bors
a719c05816
Auto merge of #2426 - saethlin:unix-exec, r=RalfJung
...
Use real exec on cfg(unix) targets
Closes https://github.com/rust-lang/miri/issues/2421
The standard library has a platform extension trait that lets us get the behavior we want on cfg(unix), so why not use it?
I tried this out and it produces the correct behavior in concert with nextest.
2022-07-28 22:05:42 +00:00
Ben Kimock
622613f957
Use real exec on cfg(unix) targets
...
When cargo-miri is executed as a cargo test runner or rustdoc runtool,
external tools expect what they launch as the runner/runtool to be the
process actually running the test. But in the implementation, we launch
the Miri interpreter as a subprocess using std::process::Command. This
tends to confuse other tools (like nextest) and users (like the author).
What we really want is to call POSIX exec so that the cargo-miri process
becomes the interpreter.
So this implements just that; we call execve via a cfg(unix) extension
trait. Windows has no such mechanism, but it also doesn't have POSIX
signals, which is the primary tripping hazard this change fixes.
2022-07-26 23:34:20 -04:00
Ralf Jung
9406b6da68
fmt
2022-07-24 13:58:14 -04:00
Ralf Jung
d905901d65
make miri a better RUSTC by default inside cargo-miri
...
this requires a change in sysroot handling: miri driver now requires
MIRI_SYSROOT to be set when it is in 'target' mode, rather than relying on
`--sysroot` always being present.
2022-07-24 13:30:32 -04:00
bors
8fdb720329
Auto merge of #2430 - RalfJung:no-global-wrapper, r=RalfJung
...
attempt to overwrite globally set build.rustc-wrapper
Hopefully fixes https://github.com/rust-lang/miri/issues/2429
2022-07-24 00:35:28 +00:00
Ralf Jung
7267e0d4c5
attempt to test RUSTC and RUSTC_WRAPPER shenanigans on CI
2022-07-23 20:23:38 -04:00
Ralf Jung
25b11f6424
attempt to overwrite globally set build.rustc-wrapper
2022-07-23 19:22:02 -04:00
Ralf Jung
b93fcd99e8
avoid spurious 'Preparing a sysroot for Miri...' in 'cargo miri setup --print-sysroot'
...
also clean up sysroot building printing logic a bit
2022-07-23 18:04:06 -04:00
Ralf Jung
e14df05370
set runner for all targets via 'all()'
2022-07-23 17:46:02 -04:00
Ralf Jung
dd01870657
cargo-miri: use '--config target.runner' rather than the TARGET_RUNNER env vars
2022-07-23 17:36:42 -04:00
Ralf Jung
0c5392f435
now test-cargo-miri will actually work even without a hot cache :D
2022-07-23 14:35:17 -04:00
Ralf Jung
6c0398da7d
don't dump xargo output onto users of 'cargo miri test'
2022-07-23 12:47:26 -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
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
Ralf Jung
309413717f
cargo-miri debugging improvements
2022-07-21 14:08:07 -04: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
800273c1d9
cargo-miri: set RUSTC to us
2022-07-21 09:20:46 -04: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
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
Oli Scherer
ab6fb9d2aa
Allow tests to have dependencies
2022-07-20 15:54:35 +00:00
Ralf Jung
e12a721d84
no need for an exhaustive enum of subcommands
2022-07-20 07:42:56 -04:00
Ralf Jung
9dba78a76b
show a better error when running Miri with the wrong sysroot
2022-07-19 14:14:20 -04:00
Ralf Jung
56fefe19bf
cargo-miri: write the Xargo project files atomically
2022-07-18 20:19:02 -04:00
Oli Scherer
a9f9d48b1a
Support no-std targets and test it in CI
2022-06-30 12:51:22 +00:00
Ralf Jung
6f7c0c0a2a
revert --color=always changes
2022-06-29 10:14:26 -04:00
Ralf Jung
fed0e16397
don't assert the same thing twice
2022-06-25 20:02:03 -04:00
Ben Kimock
da6a78012a
Actually pass through the request for --color=always
2022-06-24 23:08:18 -04:00
Ralf Jung
0eb8e60ed0
avoid setting both RUSTC and RUSTC_WRAPPER
2022-06-22 10:02:33 -07:00
Ben Kimock
6cd74ee9c7
Pass --color=always through cargo-miri
2022-06-20 11:02:56 -04:00
Ralf Jung
cca3dea379
update and move cargo-miri operational description
2022-06-07 13:59:47 -04:00
Ralf Jung
3d30aece83
clippy: cargo-miri
2022-06-04 13:37:37 -04:00
Ralf Jung
61265f5f19
fmt
2022-06-01 06:42:11 -04:00
Ralf Jung
81d661f134
bump xargo version, and tweak xargo caching
2022-06-01 06:28:27 -04:00
Ralf Jung
9a448744a2
different strategy for normalizing Rust stdlib path
2022-05-31 18:37:32 -04:00
Oli Scherer
f1756c3ddd
Add a custom ui test runner and move all tests to it
2022-05-25 13:31:26 +00:00