./miri test <flags> just sends all the flags to cargo as-is. That's suboptimal for (at least) two reasons:
./miri test filter works, but to filter two things one has to do ./miri test -- filter1 filter2. This is also how cargo works but it is surprising.
./miri test --target foo interprets foo as a host target. That's consistent with ./miri build, but it's basically never what you want. MIRI_TEST_TARGET=foo ./miri test is what you want, but that's longer to type, non-standard, and especially inconvenient on Windows.
So I think we should make this command be ./miri test [--target target] <flags>, where target does the same thing as MIRI_TEST_TARGET, and <flags> are passed to the test harness -- i.e., the invocation will be cargo test -- <flags> (note the extra --).
./miri test <flags>
just sends all the flags to cargo as-is. That's suboptimal for (at least) two reasons:./miri test filter
works, but to filter two things one has to do./miri test -- filter1 filter2
. This is also how cargo works but it is surprising../miri test --target foo
interpretsfoo
as a host target. That's consistent with./miri build
, but it's basically never what you want.MIRI_TEST_TARGET=foo ./miri test
is what you want, but that's longer to type, non-standard, and especially inconvenient on Windows.So I think we should make this command be
./miri test [--target target] <flags>
, wheretarget
does the same thing as MIRI_TEST_TARGET, and<flags>
are passed to the test harness -- i.e., the invocation will becargo test -- <flags>
(note the extra--
).