Commit Graph

164 Commits

Author SHA1 Message Date
Ben Kimock
4eff60ad6e Rearrange and document the new implementation
stacked_borrow now has an item module, and its own FrameExtra. These
serve to protect the implementation of Item (which is a bunch of
bit-packing tricks) from the primary logic of Stacked Borrows, and the
FrameExtra we have separates Stacked Borrows more cleanly from the
interpreter itself.

The new strategy for checking protectors also makes some subtle
performance tradeoffs, so they are now documented in Stack::item_popped
because that function primarily benefits from them, and it also touches
every aspect of them.

Also separating the actual CallId that is protecting a Tag from the Tag
makes it inconvienent to reproduce exactly the same protector errors, so
this also takes the opportunity to use some slightly cleaner English in
those errors. We need to make some change, might as well make it good.
2022-07-12 21:03:54 -04:00
Oli Scherer
54b6b03410 Actually use eyre and get rid of the ad-hoc macros emulating error handling 2022-07-08 15:55:37 +00:00
Oli Scherer
570032b0dd Introduce a proper error handling framework 2022-07-08 15:55:37 +00:00
Ralf Jung
d09db1660b fix and slightly improve data race reports 2022-07-01 20:13:44 -04:00
bors
9642534a33 Auto merge of - RalfJung:rustc, r=oli-obk
test ui output also in rustc test suite

`@oli-obk` when I just tried this locally (`./x.py test src/tools/miri --stage 0`), it worked fine. What differences had you seen before?
2022-06-13 13:13:29 +00:00
Ralf Jung
bc5da2b5a7 test ui output also in rustc test suite 2022-06-02 21:09:10 -04:00
Ralf Jung
3d634c975c rename test suite directories 2022-06-01 10:53:38 -04:00
Ralf Jung
9a448744a2 different strategy for normalizing Rust stdlib path 2022-05-31 18:37:32 -04:00
bors
360186b114 Auto merge of - RalfJung:tests, r=oli-obk
ui_test tweaks

- support multiple filters
- make `./miri check` also cover ui_test
- Run opt-level=4 tests again, but only the "run" tests

r? `@oli-obk`
2022-05-31 05:11:43 +00:00
Ralf Jung
7fb5110160 normalize away some more line numbers 2022-05-30 19:21:22 -04:00
Ralf Jung
80bf204848 don't configure the same regex twice 2022-05-30 12:30:58 +02:00
Ralf Jung
e37dfa6d91 ui_test: support multiple filters 2022-05-30 10:27:51 +02:00
Oli Scherer
1b7e278922 Reintroduce path filters 2022-05-27 11:43:14 +00:00
Ralf Jung
a6b5b0e4ff tweak new test suite output 2022-05-25 18:27:20 +02:00
Oli Scherer
f1756c3ddd Add a custom ui test runner and move all tests to it 2022-05-25 13:31:26 +00:00
hyd-dev
2da6bedaec
Use harness = false instead of #![feature(custom_test_frameworks)] 2021-05-01 22:28:33 +08:00
Ralf Jung
31bd77c7d8 bump miri dependencies 2021-04-04 11:48:20 +02:00
Ralf Jung
80c4b5d674 fix './miri test' 2020-10-22 10:36:05 +02:00
Ralf Jung
9a9988a4b0 update docs, and also use MIRIFLAGS for the test suite 2020-09-17 17:29:19 +02:00
Ralf Jung
ac454a2485 cargo-miri: allow overwriting miri command, and make that consistent with compiletest 2020-05-28 08:53:44 +02:00
Ralf Jung
791ec8fef7 fmt 2020-05-11 10:54:21 +02:00
Ralf Jung
88fc42bbc8 compiletest: no need to call rustc here 2020-05-11 10:52:44 +02:00
Ralf Jung
a5eaa5703c test suite: rely on CARGO_BIN_EXE_ env vars to find Miri binary 2020-04-23 19:20:09 +02:00
Ralf Jung
8817397828 test harness informs tests about suitable temp dir 2020-03-24 09:11:48 +01:00
Ralf Jung
a32e25677f move repeated run of test suite (without and with MIR optimizations) out of compiletest 2020-03-18 11:19:01 +01:00
Ralf Jung
e952e37a39 compile-fail tests work with optimizations now 2019-12-29 12:38:40 +01:00
Oliver Scherer
7ead530841 Rustfmt all the things 2019-12-23 12:56:23 +01:00
Ralf Jung
9b4ceec60e update comment re: not using higher mir-opt-level 2019-11-04 11:17:40 +01:00
Wesley Wiser
636439c33f Re-enable run-pass tests with optimizations enabled 2019-09-09 06:32:46 -04:00
Ralf Jung
26afb4685d hashmap ICEs with optimizations, temporarily disable 2019-08-27 08:42:36 +02:00
Ralf Jung
1be4e2ff58 bump Rust 2019-08-21 09:07:27 +02:00
bors
1f504ea7be Auto merge of - christianpoveda:env-vars-communication, r=RalfJung
Enable env communication

related issue: https://github.com/rust-lang/miri/issues/800. r? @RalfJung
2019-08-14 18:58:06 +00:00
Christian Poveda
67d13577aa Move test env var to test_runner 2019-08-13 12:10:24 -05:00
bors
b09ae31da0 Auto merge of - RalfJung:miri-rustc-cleanup, r=RalfJung
Cleanup after rustc bootstrap tests Miri with a separate libstd

Should only be merged after https://github.com/rust-lang/rust/pull/63162 got the green light.
2019-08-08 20:43:47 +00:00
Christian Poveda
253af9692a Fix formatting 2019-08-07 10:50:46 -05:00
Christian Poveda
af623dede2 Add env var test variable in compiletest 2019-08-07 09:09:13 -05:00
Ralf Jung
6c545ba340 the compile-fail-norustc hack is no longer needed 2019-07-31 15:29:55 +02:00
Ralf Jung
a414492cc7 reorder for clarity 2019-07-31 13:48:49 +02:00
Ralf Jung
edf7d1c30c dedup code a bit 2019-07-31 13:48:15 +02:00
Ralf Jung
6dadb94101 test suite: be fine with warnings when running on rustc CI 2019-07-31 13:44:55 +02:00
Ralf Jung
c094d42504 update miri-seed handling for run-pass test suite 2019-07-23 21:53:47 +02:00
Ralf Jung
59190e8542 disable some compile-fail tests for rustc 2019-07-20 22:38:41 +02:00
Ralf Jung
e7b39e382a reenable all tests on Windows 2019-07-11 18:41:53 +02:00
Lzu Tao
3ea62d3527 Remove SliceConcatExt import 2019-07-10 09:56:35 +07:00
Ralf Jung
4d76dd1f09 temporarily disable validation on Windows 2019-07-05 21:26:58 +02:00
Ralf Jung
9b58492df1 temporarily disable intptrcast advanced testing on Windows 2019-07-05 19:22:22 +02:00
Ralf Jung
44298d86f0 dont add the -Zmiri-seed flag twice 2019-07-03 10:47:25 +02:00
Ralf Jung
ccbc035f6a run all run-pass tests with intrptrcast. makes many of them fail! 2019-07-02 22:20:37 +02:00
Ralf Jung
b0b082d4d8 do not handle MIRI_SYSROOT in the driver at all, rely fully on the --sysroot flag 2019-06-09 17:10:04 +02:00
Ralf Jung
7bb461362e Travis: test cargo miri on foreign arch 2019-04-21 22:35:47 +02:00