Ralf Jung
8ebdad0615
organize more files into folders, and run the weak-mem consistency test as the very first since it is so slow
2022-06-13 09:08:14 -07:00
bors
9642534a33
Auto merge of #2179 - 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
bors
2bbb70f584
Auto merge of #2203 - RalfJung:deprecate, r=oli-obk
...
deprecate -Zmiri-allow-uninit-numbers and -Zmiri-allow-ptr-int-transmute
Cc https://github.com/rust-lang/miri/issues/2187 https://github.com/rust-lang/miri/issues/2188
2022-06-13 10:23:42 +00:00
Ralf Jung
6ed05d976e
bless
2022-06-11 22:34:01 -07:00
Ralf Jung
069d8fdb71
test for Stacked Borrows error during vtable validation
2022-06-11 17:42:23 -07:00
InfRandomness
3e03054ef0
Add getpid shim
2022-06-11 11:28:50 +02:00
Ralf Jung
2b35dd514e
linux-futex test: ensure we join all threads
2022-06-07 17:03:11 -04:00
Ralf Jung
61f5680da0
add stdlib test for TLS dtor order
2022-06-07 07:58:21 -04:00
Ralf Jung
11a8b3a00b
bless tests
2022-06-06 20:17:39 -04:00
Ralf Jung
bf372a8fbc
remove warning about thread support being experimental
2022-06-06 20:16:02 -04:00
Ralf Jung
b64c9a0a83
make scheduler preemptive, with configurable preemption rate
2022-06-06 20:16:02 -04:00
Ralf Jung
89edc355e8
bless Windows
2022-06-06 19:48:21 -04:00
Ralf Jung
14913e993b
deprecate -Zmiri-allow-uninit-numbers and -Zmiri-allow-ptr-int-transmute
2022-06-06 16:07:30 -04:00
Andy Wang
1b32d14255
Make racy imperfectly overlapping atomic access unsupported instead of UB
...
Co-authored-by: Ralf Jung <post@ralfj.de>
2022-06-06 19:16:02 +01:00
Andy Wang
1379036713
Simplify known C++20 inconsistency test
2022-06-06 19:16:01 +01:00
Andy Wang
65f39bd5cf
Move tests to new directories
2022-06-06 19:16:01 +01:00
Andy Wang
6d0c76ea1b
Specify only perfectly overlapping accesses can race
2022-06-06 19:16:01 +01:00
Andy Wang
8215702d5a
Refer to GitHub issue on overwritten init value
2022-06-06 19:16:00 +01:00
Andy Wang
4a07f78dad
Forbade all racing mixed size atomic accesses
2022-06-06 19:16:00 +01:00
Andy Wang
a7c832b04a
Wording improvements
...
Co-authored-by: Ralf Jung <post@ralfj.de>
2022-06-06 19:15:59 +01:00
Andy Wang
6a73dedb36
Update experimental threading warning
2022-06-06 19:15:59 +01:00
Andy Wang
bfa56454e9
Split extra_cpp tests into sound and unsafe
2022-06-06 19:15:58 +01:00
Andy Wang
613d60db0b
Allow non-racy mixed size accesses
2022-06-06 19:15:58 +01:00
Andy Wang
7dcb19ead4
Add rust-only operation tests
2022-06-06 19:15:57 +01:00
Andy Wang
dafd813c16
Move transmute into a separate function
2022-06-06 19:15:57 +01:00
Andy Wang
5ddd4eff03
Spelling, punctuation and grammar
...
Co-authored-by: Ralf Jung <post@ralfj.de>
2022-06-06 19:15:56 +01:00
Andy Wang
31c01415cb
Replace yield_now() with spin loop hint
2022-06-06 19:15:55 +01:00
Andy Wang
e2002b4c65
Amend experimental thread support warnings
2022-06-06 19:15:55 +01:00
Andy Wang
92145373c3
Put the initialisation value into the store buffer
2022-06-06 19:15:55 +01:00
Andy Wang
6b54c92377
Throw UB on imperfectly overlapping access
2022-06-06 19:15:54 +01:00
Andy Wang
13e3465346
Reduce the number of runs in consistency tests
2022-06-06 19:15:25 +01:00
Andy Wang
7d874db213
Add tests showing weak memory behaviours
2022-06-06 19:15:25 +01:00
Andy Wang
f729f28925
Move cpp20_rwc_syncs into compile-fail
2022-06-06 19:15:23 +01:00
Andy Wang
32627d5abb
Disable weak memory emulation on scheduler-dependent data race tests
2022-06-06 19:15:23 +01:00
Andy Wang
a71b10381e
Add imperfectly overlapping test
2022-06-06 19:15:22 +01:00
Andy Wang
cf266584b7
Comment out and provide context to C++20 test
2022-06-06 19:15:21 +01:00
Andy Wang
e7698f4f07
Implement weak memory emulation
2022-06-06 19:15:20 +01:00
Andy Wang
16315b1540
Add test cases
2022-06-06 19:15:20 +01:00
Ralf Jung
84edb76e26
make output bitwidth-independent
2022-06-06 12:35:48 -04:00
Ralf Jung
7f5cfa54d9
port some tests away from flags we want to remove
2022-06-06 11:44:36 -04:00
Ralf Jung
34d4928dce
addr no longer exposes :)
2022-06-06 11:43:25 -04:00
Ralf Jung
63625b0397
adjust for better provenance control
2022-06-06 11:43:25 -04:00
bors
2eae474673
Auto merge of #2197 - RalfJung:round-robin, r=RalfJung
...
make Miri's scheduler proper round-robin
When thread N blocks or yields, we activate thread N+1 next, rather than always activating thread 0. This should guarantee that as long as all threads regularly yield, each thread eventually takes a step again.
Fixes the "multiple loops that yield playing ping-pong" part of https://github.com/rust-lang/miri/issues/1388 .
`@cbeuw` I hope this doesn't screw up the scheduler-dependent tests you are adding in your PR.
2022-06-05 18:37:07 +00:00
Ralf Jung
34b359be1e
more spin-loop-tests
2022-06-05 14:36:49 -04:00
Ralf Jung
47745380cd
make Miri's scheduler proper round-robin
2022-06-05 14:22:00 -04:00
bors
0fbe710012
Auto merge of #2194 - RalfJung:race, r=RalfJung
...
add interesting data race test
This interesting testcase came up in https://github.com/rust-lang/miri/issues/2192 .
2022-06-05 16:38:53 +00:00
Ralf Jung
b2832008e2
add interesting data race test
2022-06-05 12:38:34 -04:00
Ralf Jung
4a852126b9
do not use int2ptr casts in strict provenance tests
2022-06-05 11:47:39 -04:00
Ralf Jung
2b9c45f96f
delete stale stderr files
2022-06-03 08:10:09 -04:00
Ralf Jung
bc5da2b5a7
test ui output also in rustc test suite
2022-06-02 21:09:10 -04:00