Vytautas Astrauskas
e7b82fde4a
Fix the test annotation.
2020-04-27 14:26:36 -07:00
Vytautas Astrauskas
e7c2694b8b
Make the main thread detached.
2020-04-27 14:26:36 -07:00
Vytautas Astrauskas
9a01c3fa3e
Clarify comments about TLS destructor handling in Windows, add a test for TLS destructors.
2020-04-27 14:26:36 -07:00
Vytautas Astrauskas
5b55e0706c
Add more concurrency tests.
2020-04-27 14:26:36 -07:00
Vytautas Astrauskas
80459bbf77
Improve concurrency tests.
2020-04-27 14:26:36 -07:00
Vytautas Astrauskas
421be273cc
Add concurrency tests.
2020-04-27 14:26:36 -07:00
Vytautas Astrauskas
325c31e578
Address some of the reviewers comments.
2020-04-27 14:26:36 -07:00
Vytautas Astrauskas
82f17ab917
Implement basic support for concurrency (Linux only).
2020-04-27 14:23:32 -07:00
bors
e06df3a881
Auto merge of #1373 - RalfJung:test-rename, r=RalfJung
...
rename tests: undefined -> uninit
2020-04-27 10:54:57 +00:00
bors
4556daadc2
Auto merge of #1370 - samrat:add-scalar-size-test, r=RalfJung
...
Add test to verify that argument size mismatch throws UB
Also, bump up `rust-version`
Closes #1355
2020-04-27 10:33:29 +00:00
Ralf Jung
a5ddaa07eb
rename tests: undefined -> uninit
2020-04-27 12:32:03 +02:00
Samrat Man Singh
73f258c451
Replace error-pattern with annotation; remove unreachable line
2020-04-27 15:34:42 +05:30
bors
da940eb91f
Auto merge of #1354 - divergentdave:dump-alloc-on-undef-read, r=RalfJung
...
Print hex dump of alloc on reading undef bytes
Here's a small addition I made locally to the UB diagnostics, in case you're interested in it. This PR calls `dump_alloc()` on the relevant allocation if Miri fails on UB due to reading undefined bytes. This came in handy when diagnosing such an issue in a large program using unsafe Rust, in part because it wasn't deterministic enough to use `-Zmiri-track-alloc-id=`. If you'd like to put this behind another -Z flag, let me know.
2020-04-27 09:33:30 +00:00
Samrat Man Singh
ae9796b9d8
Fix shim_arg_size test for 32-bit machines
2020-04-27 10:00:35 +05:30
Samrat Man Singh
da86c81e39
Add test to verify arg size mismatch throws UB
...
Also: bump up `rust-version`
2020-04-27 09:37:31 +05:30
Ralf Jung
c46668c556
fix exit code on rustc errors
2020-04-25 11:12:50 +02:00
David Cook
7f92eab3c4
Add test to exercise InvalidUndefBytes
2020-04-23 20:00:25 -05:00
Ralf Jung
73772fede6
adjust for Weak::as_raw -> as_ptr rename
2020-04-20 10:04:17 +02:00
Ralf Jung
70c828b761
test some more extreme cast cases
2020-04-19 09:34:54 +02:00
bors
45113eb6a4
Auto merge of #1325 - RalfJung:float_to_int_unchecked, r=RalfJung
...
implement float_to_int_unchecked
@hanna-kruppe would be great if you could have a look at this.
`float.rs` tests legal casts. `test_cast` checks that both `as` casts and unchecked casts work (i.e., these are not saturating). The `compile-fail` tests should ensure that illegal casts via the intrinsic are detected as such.
Fixes https://github.com/rust-lang/miri/issues/1264
2020-04-18 08:13:24 +00:00
Ralf Jung
bb38ab4340
use u128::MAX symbolic name
2020-04-18 10:11:45 +02:00
Ralf Jung
0345ee42da
some UB gets masked by optimizations
2020-04-18 09:15:59 +02:00
Ralf Jung
c6ab27577b
test that we check dynamic actual size of object
2020-04-18 02:06:36 +02:00
Ralf Jung
521e77d712
test that we properly check dynamic alignment
2020-04-17 20:43:54 +02:00
Ralf Jung
e6822d60b3
make sure we find some things without validation or stacked borrows, respectively
2020-04-14 10:23:47 +02:00
Ralf Jung
179e78d0ad
make sure our disable flags do not miss all bugs; move type-assert intrinsic tests to their folder
2020-04-14 10:23:47 +02:00
Ralf Jung
f4a15444cf
fix comment in alignment test
2020-04-14 09:50:20 +02:00
Ralf Jung
fd8beaf5c4
add option to disable alignment checks
2020-04-13 17:58:03 +02:00
Ralf Jung
17c52d47e7
add tests for invalid float-to-int casts
2020-04-12 12:01:20 +02:00
Ralf Jung
30d07c8616
move error-pattern to inline annotation where possible
2020-04-12 12:01:20 +02:00
Ralf Jung
b2bf4ec2f5
organize compile-fail tests in folders
2020-04-11 11:36:55 +02:00
Ralf Jung
d276d952ff
fix unused warnings in tests
2020-04-10 10:27:59 +02:00
bors
325682ad56
Auto merge of #1301 - RalfJung:global-leaks, r=RalfJung
...
memory reachable through globals is not a leak
Blocked on https://github.com/rust-lang/rust/pull/70762
Fixes https://github.com/rust-lang/miri/issues/940
2020-04-07 17:33:24 +00:00
Ralf Jung
7841f44593
rustup
2020-04-07 19:33:03 +02:00
David Cook
134d6a2faa
Add tests, improve test coverage
2020-04-05 14:55:57 -05:00
David Cook
d5d5a56926
Add tests
2020-04-05 13:25:49 -05:00
Ralf Jung
cd132f563e
port compile-fail allocator tests to stable API
2020-04-02 13:33:59 +02:00
Ralf Jung
5130aa55a2
adjust stacktrace printing to rustc changes
2020-04-02 09:14:17 +02:00
bors
f4308a0728
Auto merge of #1267 - RalfJung:macos-dtors, r=RalfJung
...
implement TLS cleanup for macOS
Now that I can run macOS interpretation locally, this was not that hard to fix. ;)
Fixes https://github.com/rust-lang/miri/issues/443
2020-03-28 07:55:42 +00:00
Ralf Jung
c5ef8a656f
enable leak tests on macOS
2020-03-27 19:39:35 +01:00
JOE1994
ea836eeb0d
remove or update 'ignore-windows' annotations in some tests
2020-03-27 14:18:19 -04:00
Ralf Jung
47b91e619a
test unreachable intrinsic
2020-03-25 09:32:15 +01:00
Ralf Jung
d85f09c4e4
platform -> target
2020-03-22 08:55:39 +01:00
Ralf Jung
238ed49a07
detect UB: overflow in copy/write_bytes
2020-03-21 17:54:33 +01:00
Ralf Jung
8acfafe186
test for zero-sized write_bytes to NULL
2020-03-21 17:54:18 +01:00
Ralf Jung
e890d4d5e1
call error location was fixed by rustup
2020-03-21 12:52:23 +01:00
Ralf Jung
5c09047411
fix tests
2020-03-21 10:54:56 +01:00
Ralf Jung
bde3111c61
test windows panic message
2020-03-21 10:17:57 +01:00
Ralf Jung
49051e05ea
rustup, and some final message adjustments
2020-03-19 08:41:01 +01:00
Ralf Jung
e1e158e103
adjust error messages for lower-case start
2020-03-19 08:26:08 +01:00
Ralf Jung
77cc0cddd9
add test for validation finding use-after-free
2020-03-19 08:25:08 +01:00
Ralf Jung
1103a10e2c
adjust for error reform
2020-03-19 08:25:08 +01:00
Elichai Turkel
0826899ca0
Remove uninhabit/zeroed tests to a new test file for abort checking
2020-03-18 14:14:23 +02:00
Ralf Jung
8a26a288c2
rustup
2020-03-16 21:32:57 +01:00
Ralf Jung
497fbcbf44
rustup, fix for intrinsic rename and transmute error change
2020-03-14 09:27:35 +01:00
Ralf Jung
5531a79f4c
rustup, test Abort terminator
2020-03-12 20:48:04 +01:00
Ralf Jung
5ef48593fb
adjust error
2020-03-09 17:03:39 +01:00
Christian Poveda
8392a0c589
only expose environ on linux
2020-03-08 10:16:31 -05:00
Christian Poveda
18a71ef7b3
minor corrections
2020-03-07 11:35:00 -05:00
Christian Poveda
6eccc809f2
test that environ
gets deallocated on changes
2020-03-07 09:39:55 -05:00
Ralf Jung
148269dd4b
finally stop using min/max_value and the integer modules
2020-03-04 13:01:06 +01:00
Ralf Jung
db0d03229c
fix allocator tests
2020-03-04 10:19:35 +01:00
Ralf Jung
88c45f9891
adjust for rustc changes
2020-03-02 13:51:08 +01:00
Ralf Jung
274ae0438f
add an option to disable Stacked Borrows
2020-02-24 16:22:02 +01:00
Ralf Jung
8acf52b3ca
fix compile-fail tests to avoid libstd debug assertions
2020-02-16 14:01:00 +01:00
Ralf Jung
d208a5fe3b
rustup; fix generator test
2020-02-07 14:02:27 +01:00
Ralf Jung
5d2caef3ce
also test div-by-minus-1
2020-02-06 11:24:38 +01:00
Ralf Jung
4b6a0d7a8e
bump rustc; adjust tests
2020-02-06 11:20:28 +01:00
Ralf Jung
e0adfe4d45
new compile-fail test involving non-reborrowing-cast-to-raw
2020-01-30 12:22:15 +01:00
Tim Diekmann
3d8bf92a11
Rename Alloc
to AllocRef
...
Required to land https://github.com/rust-lang/rust/pull/68529 . Please see that PR for details. The CI is expected to fail until the PR is landed.
2020-01-29 04:10:33 +01:00
Ralf Jung
e952e37a39
compile-fail tests work with optimizations now
2019-12-29 12:38:40 +01:00
Oliver Scherer
d9859c83fc
Rustup to rustc 1.42.0-nightly ( 9ff30a781
2019-12-21)
2019-12-21 11:45:09 +01:00
Ralf Jung
74ef63ff0a
the never type got de-stabilized again; adjust tests
2019-12-15 12:23:43 +01:00
Ralf Jung
f0d43872ad
add test for sketchy vtable
2019-12-13 13:19:48 +01:00
Ralf Jung
cefc592273
bump Rust, fix error messages
2019-12-08 01:45:41 +01:00
Ralf Jung
6d8e87111b
bump Rust for exact_div fix
2019-12-03 17:37:42 +01:00
Ralf Jung
ae53b1222a
fix and expand panic tests
2019-12-02 16:04:31 +01:00
Ralf Jung
dcdd68b936
also indicate abort via new MachineStop variant
2019-12-02 09:13:58 +01:00
Ralf Jung
6941caf1df
typo
2019-11-22 18:12:10 +01:00
Ralf Jung
6888555ca9
rustup for never stabilization
2019-11-22 09:50:22 +01:00
Ralf Jung
5cef4666e6
rename panic=abort tests to panic_abort
2019-11-19 22:44:07 +01:00
Aaron Hill
b06d99b8a0
Ignore '-C panic=abort' tests for now
...
We are currently building `libpanic_abort` with the wrong panic
strategy, due to Xargo missing a hack used by `bootstrap`.
2019-11-17 08:40:34 -05:00
Aaron Hill
08d3fbc76b
Support unwinding after a panic
...
Fixes #658
This commit adds support for unwinding after a panic. It requires a
companion rustc PR to be merged, in order for the necessary hooks to
work properly.
Currently implemented:
* Selecting between unwind/abort mode based on the rustc Session
* Properly popping off stack frames, unwinding back the caller
* Running 'unwind' blocks in Mir terminators
Not yet implemented:
* 'Abort' terminators
This PR was getting fairly large, so I decided to open it for review without
implementing 'Abort' terminator support. This could either be added on
to this PR, or merged separately.
2019-11-17 08:34:25 -05:00
Ralf Jung
64244e9a18
do full deref-check before reborrowing
2019-11-14 10:24:02 +01:00
Ralf Jung
428fc531d8
silence a lint that catches the bug statically
2019-11-07 09:44:00 +01:00
Ralf Jung
1f8cb476ea
fix test erorr msg
2019-11-06 09:24:26 +01:00
Ralf Jung
c4f1d3f488
test that 0 cannot be offset-inbounds by 0
2019-11-06 09:24:26 +01:00
Ralf Jung
fcf0f886d4
adjust tests
2019-11-03 10:15:55 +01:00
Christian Poveda
61da8b8428
Add OsString from/to bytes helper functions
2019-10-18 09:47:19 -05:00
Ralf Jung
8ecd767791
fix test failure from diagnostics change
2019-09-29 11:30:28 -04:00
Christian Poveda
145a5826d5
Check that chdir
fails for non-utf8 paths
2019-09-24 17:28:38 -05:00
Oliver Scherer
b952584186
Rustup to 1.39.0-nightly ( 1e869133b
2019-09-09)
2019-09-09 13:00:20 +02:00
Ralf Jung
f67af5a1c2
test too big slice
2019-08-31 08:41:55 +02:00
Ralf Jung
cecbe1611b
test for invalid wide raw ptr
2019-08-29 17:19:09 +02:00
Ralf Jung
94cd0ce734
fix test failure due to my own lint
2019-08-18 11:16:02 +02:00
Ralf Jung
2f95d4d50c
remove dead code
2019-08-15 11:01:03 +02:00
Ralf Jung
60a0688185
adjust tests for eager pointer checks on deref
2019-08-15 11:01:03 +02:00
Ralf Jung
b93629262d
test that even &Cell must be dereferencable
2019-08-09 19:22:47 +02:00
bors
b09ae31da0
Auto merge of #871 - 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
Ralf Jung
d26917a9d6
fix for latest rustc
2019-08-05 10:45:48 +02:00