Lander Brandt
ae237098f8
Add support for panicking in the emulated application when unsupported syscalls are encountered
2021-06-07 15:21:53 -07:00
Ralf Jung
0ece55d748
expand comment
2021-06-06 10:33:46 +02:00
hyd-dev
d7aff96053
Remove 2 tests
2021-06-06 11:22:25 +08:00
hyd-dev
879000b133
Detect std
by checking if the crate defines #[lang = "start"]
rather than string comparison
2021-06-06 11:12:05 +08:00
bors
28717a0e90
Auto merge of #1776 - hyd-dev:1170, r=RalfJung
...
Implement calls to exported symbols (#1170 )
Closes #1170 .
2021-06-03 15:59:56 +00:00
Pointerbender
386863ac53
added a strings.rs regression test case for potential future UB
2021-06-03 17:25:23 +02:00
hyd-dev
ba3b11fa42
Remove some tests
2021-06-03 14:16:58 +08:00
hyd-dev
e4e6c25f67
Remove FIXME in tests/compile-fail/panic/bad_unwind.rs
2021-06-03 13:39:33 +08:00
Pointerbender
c6dbe5cdca
use references so that potential aliasing bugs are triggered during regression test
2021-06-02 15:36:18 +02:00
Pointerbender
b8aba11de3
regression tests for pointer invalidation in core library slice methods
2021-06-02 15:36:18 +02:00
Aaron Hill
73700bc01c
Rustup for const_err changes
2021-05-31 10:50:25 -05:00
hyd-dev
a952787163
Improve tests
2021-05-31 11:57:16 +08:00
hyd-dev
45832d4031
Remove duplicated "foreign function"
2021-05-31 11:57:15 +08:00
hyd-dev
41f33a64f8
Implement calls to exported symbols
2021-05-31 11:15:29 +08:00
hyd-dev
71f4140550
Add -Zmiri-disable-abi-check
2021-05-31 11:14:23 +08:00
hyd-dev
9b2d42587f
unwind
is no longer Option<BasicBlock>
2021-05-28 22:08:51 +08:00
Ralf Jung
393ce98b32
fix a Stacked Borrows test whose output changed
2021-05-23 18:04:13 +02:00
Ralf Jung
dd404cc92e
avoid importing C functions in alloc_write_race test
2021-05-19 15:27:58 +02:00
Ralf Jung
801a1744cd
update for Memory API changes
2021-05-19 15:27:58 +02:00
Ralf Jung
7af7e9e4f3
rustup
2021-05-11 15:32:05 +02:00
hyd-dev
1ab9fd50a4
Update pointer error messages
2021-05-08 15:33:27 +08:00
Ralf Jung
a2b227f95a
stacked borrows: ensure array-to-elem casts behave correctly
2021-05-07 09:24:33 +02:00
hyd-dev
47c5b6eb08
encountered a NULL reference
-> encountered a null reference
2021-05-04 15:53:19 +08:00
Smitty
e0e59f6020
Simplify finiteness checking
2021-05-03 10:08:42 -04:00
Smitty
68d29554a8
test for infinite value in f*_fast
2021-05-03 09:56:51 -04:00
Smitty
e591b83185
UB if f*_fast intrinsic called with nonfinite value
2021-05-02 12:25:00 -04:00
hyd-dev
2da6bedaec
Use harness = false
instead of #![feature(custom_test_frameworks)]
2021-05-01 22:28:33 +08:00
hyd-dev
b30c5fef5b
Rustup for rust-lang/rust#84401
2021-04-30 19:35:59 +08:00
Ralf Jung
4c741e5fb2
rustup
2021-04-25 16:57:48 +02:00
Ralf Jung
2ae699c56d
make TLS-drop-test more cross-platform
2021-04-20 09:59:26 +02:00
Ralf Jung
d512ba2ae2
test thread_local_const_init
2021-04-18 11:01:08 +02:00
Charles Lew
85f7dd6131
Remove main_fn.rs
test.
2021-04-17 00:04:09 +08:00
Aliénore Bouttefeux
648638976a
allow deref of null ptr in test
2021-04-15 10:00:39 +02:00
Ralf Jung
0674d439b6
test calling pthread_cond_timedwait with an already elapsed timeout
2021-04-11 14:21:42 +02:00
Ralf Jung
21968aa53b
add test to detect dropped temporary
2021-04-10 12:09:10 +02:00
hyd-dev
3dff1d4fcd
Don't use MIRI_DEFAULT_ARGS
to compile host crates
2021-04-09 00:57:59 +08:00
Ralf Jung
31bd77c7d8
bump miri dependencies
2021-04-04 11:48:20 +02:00
Ralf Jung
de0f3f930b
rustup
2021-03-28 01:36:41 +01:00
Ralf Jung
585e51aabd
disable MIR opts for ZST-related tests
2021-03-25 12:44:30 +01:00
Ralf Jung
b4b048cc86
rustup; better comment in storage_dead_dangling test
2021-03-22 12:35:30 +01:00
hyd-dev
633ac2a222
Remove meaningless tests
2021-03-17 21:55:45 +08:00
hyd-dev
bbc348539b
Unsupported foreign non-"C"/"system"-ABI function calls are not UB
2021-03-17 21:20:04 +08:00
bors
0788188c7b
Auto merge of #1743 - RalfJung:callee-checks, r=RalfJung
...
Check callee ABI when Miri calls closures
Fixes https://github.com/rust-lang/miri/issues/1741
2021-03-14 18:05:18 +00:00
Ralf Jung
15465a5881
don't ICE when we unwind despite panic=abort
2021-03-14 17:10:45 +01:00
Ralf Jung
c9ff02f549
ensure we catch incorrectly unwinding calls
2021-03-14 17:03:20 +01:00
Ralf Jung
d1dec9cd23
don't ICE when callee has the wrong number of arguments
2021-03-14 15:38:22 +01:00
Ralf Jung
893843fd45
when Miri calls a function ptr, make sure it has the right ABI
2021-03-14 15:30:37 +01:00
Ralf Jung
98f28ac9c8
rustup
2021-03-11 09:07:05 +01:00
Ralf Jung
7a7f7b1a7a
rustup
2021-03-10 15:21:12 +01:00
Mara Bos
90e218ad90
Fix panic test.
2021-03-08 17:06:50 +01:00
Mara Bos
5bd5ea21ea
Remove unwrap_none as it won't be stabilized.
...
This upgrades to the latest rustc to be able to use try_insert()
instead.
2021-03-08 16:59:20 +01:00
Smitty
26e97ec54f
Support breakpoint intrinsic
2021-03-04 07:48:28 -05:00
bors
2670839e1a
Auto merge of #1721 - henryboisdequin:add-atomic-min-and-max, r=oli-obk
...
Add atomic min and max
Closes #1718
Previous attempt: #1653
TODO:
- [x] Merge `atomic_op` and `atomic_min_max` functions
- [x] Fix CI
**Note:** this PR also removes arbitrary trailing whitespace and generally formats the affected files
2021-03-02 14:52:32 +00:00
Henry Boisdequin
f8440d6c99
Add in atomic_{min,max}_x
intrinsics
...
Co-authored-by: Greg Bowyer <gbowyer@fastmail.co.uk>
2021-03-02 20:17:05 +05:30
Ralf Jung
97e45e0699
make optimized-test-run a bit more like what cargo does
2021-03-02 11:04:35 +01:00
Ralf Jung
7acf80d2bb
rustup; fix tests for new MIR optimization
2021-03-02 10:57:08 +01:00
Ralf Jung
48f7c8e2e6
fix reborrowing of tagged ZST references
2021-02-27 20:10:50 +01:00
Ralf Jung
c003fd0157
rustup
2021-02-23 09:23:49 +01:00
Ralf Jung
a5a751e795
rustup
2021-02-17 09:37:21 +01:00
Ralf Jung
4c867feeb6
add test by @eddyb
2021-02-16 10:18:31 +01:00
Ralf Jung
0b3dba8e70
rustup and temporarily disable broken tests
2021-02-16 09:55:33 +01:00
Caleb Zulawski
dd81fb3f10
Remove non-power-of-two SIMD vectors
2021-02-08 00:17:24 -05:00
Mara Bos
7fc24442bd
Update rust version.
...
- Allow new non_fmt_panic lint in test.
- Remove stabilized feature(wake_trait).
2021-02-05 10:08:05 +01:00
Ralf Jung
d309804395
rustup
2021-02-03 23:37:40 +01:00
Ralf Jung
6f5a91f70a
rustup
2021-01-31 13:12:25 +01:00
Ralf Jung
9d777d8410
add test for caller ABI check
2021-01-29 21:16:17 +01:00
bors
a0485c5a90
Auto merge of #1686 - thomcc:cmpxchg_weak, r=oli-obk
...
Add random failures to compare_exchange_weak
In practice this is pretty useful for detecting bugs.
This fails more frequently than realistic (~~50%~~ (now 80%, controlled by a flag) of the time). I couldn't find any existing code that tries to model this (tsan, cdschecker, etc all seem to have TODOs there). Relacy models it with a 25% or 50% failure chance depending on some settings.
CC `@JCTyblaidd` who wrote the code this modifies initially, and seems interested in this subject.
2021-01-28 09:52:04 +00:00
Ralf Jung
e308eeb3f1
rustup; more slack for timing tests
2021-01-27 10:44:08 +01:00
Ralf Jung
0e56bff5f9
erroneous_const span now changes with inlining
2021-01-26 11:48:11 +01:00
Ralf Jung
d38e861f1e
rustup; allow some lints
2021-01-26 11:43:39 +01:00
Thom Chiovoloni
d4b592ed17
Fail 80% of the time on weak cmpxchg, not 50%
2021-01-26 00:13:54 -08:00
Thom Chiovoloni
efd2d55e00
review nits
2021-01-26 00:13:54 -08:00
Thom Chiovoloni
b6eccc6482
Test that _weak atomics sometimes fail
2021-01-26 00:13:54 -08:00
Thom Chiovoloni
c678bd722e
Add random failures to compare_exchange_weak
2021-01-26 00:13:54 -08:00
Ralf Jung
3990debf82
rustup; test swap of element with itself
2021-01-22 09:22:53 +01:00
Ralf Jung
7125b86c33
remove some unnecessary feature gates
2021-01-16 18:27:10 +01:00
Ralf Jung
4a035103dc
rustup; make tests pass again
2021-01-15 16:41:14 +01:00
Ralf Jung
82c6c77b9a
test Weak into_raw/from_raw on dangling ptrs
2020-12-31 13:11:34 +01:00
Ralf Jung
7e198147df
panicing now works with -Zmiri-track-raw-pointers
2020-12-31 00:17:08 +01:00
Ralf Jung
a81ebd8fe3
rustup; add an interesting alias test case
2020-12-29 19:27:45 +01:00
Ralf Jung
3d151c8b62
leak checker: also test AtomicPtr stored via 'swap'
2020-12-21 11:36:39 +01:00
JCTyBlaidd
aaf8ca4c77
Fix review changes
2020-12-13 11:04:58 +00:00
JCTyBlaidd
4e74f9f013
Change to disable mir-opt in compile-flags
2020-12-13 11:04:58 +00:00
JCTyBlaidd
3df67141e6
Disable tests in windows
2020-12-13 11:04:58 +00:00
JCTyBlaidd
a30105df0b
Defeat the mir-opt=3 optimizer.
2020-12-13 11:04:58 +00:00
JCTyBlaidd
8676c60f87
Update note
2020-12-13 11:04:58 +00:00
JCTyBlaidd
296ba8b1c8
Fix bug with reporting wrong thread for races with reads & add thread ids to data-race tests
2020-12-13 11:04:58 +00:00
JCTyBlaidd
fbe7fbb890
Add concurrent caller location test
2020-12-13 11:04:58 +00:00
JCTyblaidd
c4ccd0b6a1
Fix nits
...
Co-authored-by: bjorn3 <bjorn3@users.noreply.github.com>
2020-12-13 11:04:58 +00:00
JCTyBlaidd
f4bcef1113
Increase sleep times for the scheduler
2020-12-13 11:04:58 +00:00
JCTyBlaidd
c45b1b16be
More tests, fix issue 1643 and detect races with allocation.
2020-12-13 11:04:58 +00:00
Ralf Jung
27a518e166
enable track-raw-ptr tests on Windows
2020-12-11 11:28:33 +01:00
Ralf Jung
7bbd6bca77
rustup
2020-12-10 19:53:45 +01:00
Ralf Jung
2f0d7d38b4
rustup; test AtomicPtr leak checker
2020-12-10 00:09:52 +01:00
bors
a2fa80d277
Auto merge of #1641 - JCTyblaidd:update_release_sequences, r=RalfJung
...
Weaken release sequences to match the C++20 memory model
See [Weaken Release Sequences](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0982r1.html ), since the exception for relaxed writes on the same thread as a release write not blocking release sequences was removed in the C++20 memory model compared to the C11 memory model the paper was based on. The implementation can be updated and simplified to match this. [Rust is currently specified to use the C++20 memory model](https://doc.rust-lang.org/std/sync/atomic/index.html ).
2020-12-06 19:12:16 +00:00
JCTyBlaidd
a6f377e48e
Fix typo
2020-12-06 17:11:24 +00:00
JCTyBlaidd
4cf614ef33
Update release sequence handling to C++20 semantics.
2020-12-06 16:58:32 +00:00
Mara Bos
de5b26d7f0
Use new std::alloc::Allocator interface.
...
This was changed in core.
2020-12-05 00:13:33 +01:00
bors
d473242ecd
Auto merge of #1617 - JCTyblaidd:data_race_detector, r=RalfJung
...
Add simple data-race detector
Partially fixes data-race detection, see #1372 , based on Dynamic Race Detection for C++11
- This does not explore weak memory behaviour, only exploring one sequentially consistent ordering.
- Data-race detection is only enabled after the first thread is created, so should have minimal overhead for non-concurrent execution.
- ~~Does not attempt to re-use thread id's so creating and joining threads lots of time in an execution will result in the vector clocks growing in size and slowing down program execution~~ It does now
2020-11-29 18:44:28 +00:00
JCTyBlaidd
55fc552d99
Apply review changes, incrementing the clocks twice is an unnecessary hold-over from earlier versions so fixed.
2020-11-27 19:26:06 +00:00
JCTyBlaidd
3268f56a97
Fix review changes
2020-11-22 17:28:12 +00:00
Ralf Jung
7a2c2f8dde
rustup; test sorting for provenance-correctness
2020-11-22 18:08:57 +01:00
est31
4de113acba
Normalize column numbers
2020-11-19 09:21:11 +01:00
JCTyBlaidd
a3b7839bbd
Add comment regarding seq-cst ordering & add test for disabling the data-race detector.
2020-11-15 20:12:58 +00:00
JCTyBlaidd
69fb6413dd
Tidy up comments and function layout, should fix most of the review notes.
2020-11-15 18:30:26 +00:00
Ralf Jung
915d091973
rustup; less strict timing tests
2020-11-12 16:50:24 +01:00
Ralf Jung
df0de77fd1
test btreemap with raw ptr tracking
2020-11-10 16:51:55 +01:00
Ralf Jung
db718d72ae
remove some unnecessary feature flags
2020-11-10 16:51:07 +01:00
Ralf Jung
737ecef376
rustup and update test
2020-11-10 16:47:56 +01:00
JCTyBlaidd
2a40d9b7a0
More aggressive vector index re-use, and added some tests.
2020-11-06 17:29:54 +00:00
Ralf Jung
f31f00d5af
rustup
2020-11-05 17:09:44 +01:00
JCTyBlaidd
95c99b2044
Detect races between atomic and non-atomic accesses of a variable,
...
previously only data races between two non-atomic accesses were
detected.
2020-11-04 21:35:48 +00:00
JCTyBlaidd
fe2e857cc3
Add newlines at end of file + use replace.
...
add dangling thread variant of one of the benchmarks
2020-11-02 13:08:09 +00:00
JCTyBlaidd
2e75de5ac9
Mark all new tests as disabled on windows
2020-11-02 12:40:12 +00:00
JCTyBlaidd
ed32b260f9
Add tests, and fix bug in atomic RMW relaxed stores
2020-11-02 02:57:06 +00:00
Ralf Jung
00bc944eea
test Rc with raw pointer tracking
2020-10-31 16:24:34 +01:00
Ralf Jung
f936bc6b92
fix writing to read-only raw pointer in thread-local test
2020-10-31 16:24:34 +01:00
Ralf Jung
80a0a12b07
Stacked Borrows: test raw-ref-to-field with raw ptr tracking
2020-10-31 16:24:34 +01:00
Ralf Jung
e7246be4f0
backtrace tests: support more ways of checking out Rust locally
2020-10-31 13:47:42 +01:00
Ralf Jung
2a4faf638b
increase timeout to avoid spurious test failures
2020-10-30 18:59:58 +01:00
Ralf Jung
1ad827c511
rustup
2020-10-29 20:57:38 +01:00
bors
83f7657ed0
Auto merge of #1603 - RalfJung:track-raw, r=oli-obk
...
add an option to track raw pointer tags in Stacked Borrows
Also make error messages more informative by printing the affected memory location
2020-10-28 13:19:25 +00:00
Ralf Jung
bf54607ba0
test raw pointer tracking; we cannot track raw pointers on Windows
2020-10-28 13:54:50 +01:00
Ralf Jung
1044099c19
disable debug assertions in the standard library
2020-10-28 12:43:11 +01:00
Ralf Jung
19e78a65d9
run some tests with raw pointer tracking
2020-10-28 12:35:05 +01:00
Ralf Jung
ecf330f39e
test Box::into_raw aliasing
2020-10-27 17:26:36 +01:00
Ralf Jung
ddcc4f241e
rustup; make panic output less dependent on stdlib internals
2020-10-25 10:00:50 +01:00
Ralf Jung
80c4b5d674
fix './miri test'
2020-10-22 10:36:05 +02:00
Ralf Jung
ad07b2bd44
rustup; increase slack for timing tests
2020-10-22 09:47:02 +02:00
Aaron Hill
05bb560de2
Enable backtrace
feature in the generated Xargo.toml
...
This allows the normal std panic hook to print a backtrace if
`RUST_BACKTRACE=1` and `-Z miri-disable-isolation` are set
2020-10-20 18:27:55 -04:00
bors
d5380be209
Auto merge of #1586 - RalfJung:available-concurrency, r=RalfJung
...
test new available_concurrency function
Cc https://github.com/rust-lang/rust/pull/74480
2020-10-18 09:22:59 +00:00
Ralf Jung
5df6d8bec6
test new available_concurrency function
2020-10-18 11:22:09 +02:00
Aaron Hill
8b10dbfeaa
Test std::backtrace::Backtrace
...
Fixes #1578
2020-10-17 19:45:26 -04:00
Ralf Jung
67cf6c2176
rustup; the bad compile times for the float test are fixed
2020-10-18 00:49:52 +02:00
Aaron Hill
be51e6bd07
Add an fn_ptr
field to MiriFrame
...
The `backtrace-rs` crate can use this to implement
`Frame::symbol_address`, which is used to skip frames
above the call to `Backtrace::capture` on the stack.
The function pointer will not be useable for comparison purposes if the
function is generic, as CTFE creates a new function pointer for each
cast of a (monomorphized) generic function. However, this already
affects code running under Miri, and isn't a problem for `backtrace-rs`
(which only casts a non-generic function).
I've added logic to allow `MiriFrame` to have either 4 or 5 fields - if
a 5th field is present, we write the function pointer to it.
2020-10-10 13:07:57 -04:00
Ralf Jung
3e655665b7
test VecDeque::iter_mut aliasing
2020-10-07 09:00:55 +02:00
Aaron Hill
8e8828259a
Use macro callsite spans in backtrace
...
This mirrors what we do in the debuginfo used for runtime backtraces.
2020-10-05 17:29:55 -04:00
bors
60c1075820
Auto merge of #1564 - Aaron1011:readlink, r=RalfJung
...
Implement `readlink`
Due to the truncating behavior of `readlink`, I was not able to
directly use any of the existing C-cstring helper functions.
2020-10-04 21:07:55 +00:00
Aaron Hill
4eea02e725
Normalize MIRI_TEMP before using it
2020-10-04 16:26:09 -04:00
Ralf Jung
02257870a6
rustup; test NaN conversion issue
2020-10-04 18:56:51 +02:00
Aaron Hill
bbba87ce54
Swap order of assertions for easier debugging
2020-10-04 12:06:51 -04:00
Aaron Hill
5fc5490bc8
Add trailing punctuation
...
Co-authored-by: Ralf Jung <post@ralfj.de>
2020-10-04 12:06:51 -04:00
Aaron Hill
0e59b6f673
Merge fs
and fs_libc
tests
2020-10-04 12:06:51 -04:00
Aaron Hill
78bc89b4fc
Implement readlink
...
Due to the truncating behavior of `readlink`, I was not able to
directly use any of the existing C-cstring helper functions.
2020-10-04 12:06:51 -04:00
Ralf Jung
a4cbbddc8e
merge parking test into general synchronization test
2020-10-03 15:27:23 +02:00
Ralf Jung
b350c80a31
add backtics back in isolation error message
2020-10-03 15:25:30 +02:00
Mara Bos
dc36988f38
Add test for futex syscall.
2020-10-03 13:34:49 +02:00
Mara Bos
5880e7d809
Update expected error messages in tests.
2020-10-03 12:00:29 +02:00
Mara Bos
81138825b3
Add park/park_timeout/unpark test.
2020-10-02 23:35:00 +02:00
Ralf Jung
17e16aad62
normalize backtrace stderr even more
2020-09-30 10:02:53 +02:00