Skip to content

Commit

Permalink
add ./miri cargo for RA to invoke
Browse files Browse the repository at this point in the history
  • Loading branch information
RalfJung committed Aug 19, 2022
1 parent 09118da commit e43f89c
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 2 deletions.
2 changes: 2 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,7 @@ to `.vscode/settings.json` in your local Miri clone:
"env",
"MIRI_AUTO_OPS=no",
"./miri",
"cargo",
"check",
"--message-format=json"
],
Expand All @@ -179,6 +180,7 @@ to `.vscode/settings.json` in your local Miri clone:
"env",
"MIRI_AUTO_OPS=no",
"./miri",
"cargo",
"check",
"--message-format=json",
],
Expand Down
3 changes: 2 additions & 1 deletion cargo-miri/miri
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
#!/bin/sh
# Hack to work around https://github.com/rust-analyzer/rust-analyzer/issues/10793.
# RA invokes `./miri cargo ...` for each workspace, so we need to forward that to the main `miri`
# script. See <https://github.com/rust-analyzer/rust-analyzer/issues/10793>.
exec "$(dirname "$0")"/../miri "$@"
11 changes: 10 additions & 1 deletion miri
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,10 @@ Format all sources and tests. <flags> are passed to `rustfmt`.
./miri clippy <flags>:
Runs clippy on all sources. <flags> are passed to `cargo clippy`.
./miri cargo <flags>:
Runs just `cargo <flags>` with the Miri-specific environment variables.
Mainly meant to be invoked by rust-analyzer.
./miri many-seeds <command>:
Runs <command> over and over again with different seeds for Miri. The MIRIFLAGS
variable is set to its original value appended with ` -Zmiri-seed=$SEED` for
Expand All @@ -44,7 +48,7 @@ MIRI_SYSROOT:
If already set, the "sysroot setup" step is skipped.
CARGO_EXTRA_FLAGS:
Pass extra flags to all cargo invocations.
Pass extra flags to all cargo invocations. (Ignored by `./miri cargo`.)
EOF
)

Expand Down Expand Up @@ -218,6 +222,11 @@ clippy)
$CARGO clippy $CARGO_EXTRA_FLAGS --manifest-path "$MIRIDIR"/ui_test/Cargo.toml --all-targets "$@"
$CARGO clippy $CARGO_EXTRA_FLAGS --manifest-path "$MIRIDIR"/cargo-miri/Cargo.toml "$@"
;;
cargo)
# We carefully kept the working dir intact, so this will run cargo *on the workspace in the
# current working dir*, not on the main Miri workspace. That is exactly what RA needs.
$CARGO "$@"
;;
*)
if [ -n "$COMMAND" ]; then
echo "Unknown command: $COMMAND"
Expand Down

0 comments on commit e43f89c

Please sign in to comment.