Commit Graph

550 Commits

Author SHA1 Message Date
Ralf Jung
b5d449949a comments and another test 2019-09-29 11:49:04 -04:00
Ralf Jung
9650b7868e more align_offset tests 2019-09-29 11:43:50 -04:00
bors
b625812092 Auto merge of #957 - christianpoveda:ptr-align-offset, r=RalfJung
Fixes for align_offset

This addresses @RalfJung's comments in https://github.com/rust-lang/miri/pull/945
2019-09-28 18:38:00 +00:00
Christian Poveda
bdaa90ceb2 Add FIXME to file reading test 2019-09-25 11:12:46 -05:00
Christian Poveda
79b1f91f45 First version of file handling 2019-09-25 01:17:18 -05:00
Christian Poveda
0eed5e64de Add chdir shim 2019-09-24 15:50:00 -05:00
bors
2e17933eed Auto merge of #958 - christianpoveda:getcwd-shim, r=oli-obk
Add getcwd shim
2019-09-24 16:22:21 +00:00
Christian Poveda
e2c54e64d1 Ignore integers 2019-09-22 21:39:17 -05:00
Ralf Jung
0ab0e40e1b add another test case 2019-09-20 08:53:35 +02:00
Ralf Jung
d53d7f77a0 err on all-but-B, not just on C 2019-09-20 08:53:35 +02:00
Ralf Jung
7e65c44714 test for niche enum discriminant computation that overflows 2019-09-20 08:53:35 +02:00
Christian Poveda
133c2b39db Only use getcwd without isolation 2019-09-19 10:32:18 -05:00
Christian Poveda
6593563e46 Check that getcwd does not error 2019-09-18 20:01:09 -05:00
Christian Poveda
497de53825 Update align_offset tests 2019-09-17 11:47:36 -05:00
Christian Poveda
fa20338c9a Use str::from_utf8 instead 2019-09-12 09:36:31 -05:00
Christian Poveda
ed70617b9c Add test for u8 align_offset 2019-09-11 12:08:42 -05:00
Ralf Jung
f5c35a2584 fix async test 2019-09-11 17:13:32 +02:00
Christian Poveda
f4a25e530a Add env exclusion test 2019-08-28 17:57:41 -05:00
Ralf Jung
55efee9140 test host randomness access 2019-08-23 23:30:23 +02:00
Ralf Jung
97f9fb1284 change flag name: enable-communication -> disable-isolation 2019-08-23 23:29:11 +02:00
Ralf Jung
1be4e2ff58 bump Rust 2019-08-21 09:07:27 +02:00
Ralf Jung
a76bc3fb87 test arrray try_from (interesting const generic usage) 2019-08-20 16:11:03 +02:00
Ralf Jung
be4108e27c test some new uninit APIs 2019-08-18 11:34:09 +02:00
Ralf Jung
60a0688185 adjust tests for eager pointer checks on deref 2019-08-15 11:01:03 +02:00
bors
1f504ea7be Auto merge of #894 - 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
f451fe21bd Test env isolation 2019-08-13 16:17:53 -05:00
bors
a5eb61a4ad Auto merge of #902 - RalfJung:ldexp, r=RalfJung
use apfloat for ldexp
2019-08-10 09:34:31 +00:00
Ralf Jung
33eb5657d6 ldexp: test overflow behavior 2019-08-10 11:31:20 +02:00
Ralf Jung
abcd244927 add async fn with partial initialization 2019-08-09 11:01:42 +02:00
Ralf Jung
fc06cb71bf simplify async-fn tests 2019-08-09 11:01:42 +02:00
Ralf Jung
d5294a5bf3 test generator that yields during initialization of struct with uninhabited field 2019-08-09 11:01:42 +02:00
bors
1766d1b84b Auto merge of #896 - tmandry:add-generator-uninhabited-test, r=RalfJung
Add generator, async tests with uninhabited saved local

See discussion in https://github.com/rust-lang/rust/pull/63035.
2019-08-09 08:20:00 +00:00
Tyler Mandry
f544721de4 Add generator, async tests with uninhabited saved local 2019-08-07 16:56:35 -07:00
Christian Poveda
af623dede2 Add env var test variable in compiletest 2019-08-07 09:09:13 -05:00
Christian Poveda
b731a6a15f Add support for env communication 2019-08-06 17:40:07 -05:00
bors
93e110f370 Auto merge of #886 - Aaron1011:shim/getrandom, r=RalfJung
Shim 'libc::getrandom' in addition to 'libc::syscall(libc::SYS_getrandom)'
2019-08-04 21:02:08 +00:00
Aaron Hill
a208f2fccf
Improve formatting
Co-Authored-By: Ralf Jung <post@ralfj.de>
2019-08-04 16:44:32 -04:00
Aaron Hill
66d10c877d
Ignore other platforms instead of using only-linux 2019-08-04 16:40:30 -04:00
Aaron Hill
8a75817707
Fix identation 2019-08-04 16:30:33 -04:00
Aaron Hill
a74a04f356
Test 'libc::getrandom' as well 2019-08-04 16:12:25 -04:00
Aaron Hill
6b087d2536
Add test 2019-08-04 16:12:24 -04:00
Aaron Hill
4c11c6b737
Add test for f32::round and f64::round 2019-08-04 15:57:00 -04:00
Ralf Jung
702f63e427 test AtomicU64 2019-08-04 10:30:42 +02:00
Ralf Jung
ca4969d4da consolidate atomic tests 2019-08-04 10:30:42 +02:00
Christian Poveda
ff2001040f Add shim for ldexp 2019-08-02 15:46:28 -05:00
Ralf Jung
3318657eaf test Ref/RefMut protector interactions 2019-08-02 08:15:52 +02:00
Yuki Okushi
af7570fced Remove await_macro 2019-07-31 16:42:38 +09:00
Ralf Jung
87f20fede5 adjust for slice pattern changes 2019-07-29 10:21:59 +02:00
Ralf Jung
8bec925e04 bump Rust 2019-07-26 10:14:44 +02:00
Ralf Jung
758d88bbf9 explain better what is non-deterministic here 2019-07-24 08:57:05 +02:00
Ralf Jung
85be8ab8eb fix non-deterministic test 2019-07-23 23:48:28 +02:00
Ralf Jung
3c1ab78196 review failing compile-fail tests 2019-07-23 23:25:06 +02:00
Ralf Jung
c094d42504 update miri-seed handling for run-pass test suite 2019-07-23 21:53:47 +02:00
Ralf Jung
f1b623c313 test some const-generic-using methods 2019-07-13 10:25:04 +02:00
Ralf Jung
70a5bb7dbb force pointers before reborrowing; fixes cargo miri test suite 2019-07-10 14:36:56 +02:00
Ralf Jung
a6f9bbc9e2 now we can also enable the ptr_int_cast test again 2019-07-10 14:36:56 +02:00
Ralf Jung
dd6cf30f60 ptr_offset works fine with intptrcast now 2019-07-10 14:36:56 +02:00
Ralf Jung
ba8728cd8b fix test using mem::uninitialized 2019-07-06 09:33:22 +02:00
Ralf Jung
029a29407a dangling-ptr-to-int should work now; move to noseed 2019-07-05 23:54:18 +02:00
Ralf Jung
f23b782101 align small malloc-allocations even less, and test that we do 2019-07-05 23:48:48 +02:00
Ralf Jung
802dcb7f89 temporarily disable ptr_offset, maybe that helps 2019-07-05 00:06:41 +02:00
Ralf Jung
8ec25066e7 make a test noseed for now that does not work with intptrcast yet 2019-07-03 10:47:28 +02:00
Ralf Jung
eb4128fb42 don't call Stacked Borrows hooks at all when validation is disabled 2019-07-03 10:47:28 +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
8d8481fed5 fix outdated test name: overalign -> align 2019-07-02 13:02:48 +02:00
bors
2a4c4ade30 Auto merge of #809 - RalfJung:intptrcast, r=RalfJung
use intptrcast for heap_allocator test; then it should work on Windows
2019-06-30 21:19:56 +00:00
Ralf Jung
cb6d4f0c9a test even more size-alignment combinations. found a bug in libstd! 2019-06-30 21:23:48 +02:00
Ralf Jung
709b474859 fix minimal alignment for system allocation functions 2019-06-30 21:10:47 +02:00
Ralf Jung
78261b788d fix setting rustc flags 2019-06-30 19:10:09 +02:00
bors
72b2e1045d Auto merge of #806 - varkor:patch-1, r=RalfJung
Fix `unused_must_use` inside `Box`

After https://github.com/rust-lang/rust/pull/62228, this will be linted against (and causes the test to fail). (This blocks https://github.com/rust-lang/rust/pull/62228.)
2019-06-30 15:07:03 +00:00
Ralf Jung
0ea4b50025 Miri is not deterministic any more 2019-06-30 17:02:20 +02:00
Ralf Jung
b067313552 use intptrcast for heap_allocator test; then it should work on Windows 2019-06-30 16:56:16 +02:00
Ralf Jung
e44d38e051 improve comment 2019-06-30 16:45:41 +02:00
Ralf Jung
db6283b884 better name for a test: threads -> sync 2019-06-30 16:44:25 +02:00
varkor
5d4aae8c05
Fix unused_must_use inside Box
After https://github.com/rust-lang/rust/pull/62228, this will be linted against (and causes the test to fail).
2019-06-30 15:31:14 +01:00
Ralf Jung
11457a4ad9 fix comparing function pointers with intptrcast 2019-06-30 11:21:31 +02:00
Ralf Jung
afe42625e5 test pointer string formatting 2019-06-28 20:42:00 +02:00
Christian Poveda
7fbf8e53a2 Fix alignment of base addresses 2019-06-26 09:08:28 -05:00
Christian Poveda
792d665a1f Fix merge conflicts 2019-06-25 00:57:33 -05:00
Ralf Jung
4dc188a60e adjust for refactored memory pointer checks 2019-06-23 20:19:26 +02:00
Christian Poveda
dd732e5862 Force intptrcast for binary operations 2019-06-22 09:25:16 -05:00
Ralf Jung
04fa38dd1b allow some inequality comparisons between pointers and integers 2019-06-20 16:38:55 +02:00
Ralf Jung
7ce36226e6 implement and test unchecked_{add,sub,mul} intrinsics 2019-06-16 11:10:33 +02:00
Kenny Goodin
46b6a3fb7f Add more missing math functions
Add missing functions for atan2, cosh, sinh, and tan.
Also add f32 calls and tests for cbrt and hypot.
2019-06-13 22:28:22 -04:00
Kenny Goodin
535914e3dc Implement cbrt and hypot function calls
Test cases are added to `tests/run-pass/intrinsics-math.rs`
2019-06-12 15:44:30 -04:00
Ralf Jung
e2f114a5e0 test FMA a bit more 2019-06-11 19:41:43 +02:00
Ralf Jung
9c9a947bf4 test more enum-int-cast code paths 2019-06-11 19:41:43 +02:00
Ralf Jung
5e07ac335f implement min and max floating point intrinsics 2019-06-11 19:41:43 +02:00
Dylan MacKenzie
1ceb81b345 Use in-core implementation of type_name.
We bump `rust-version` to pick up the new impl from
https://github.com/rust-lang/rust/pull/61498 and add a test.
2019-06-05 22:36:53 -07:00
Ralf Jung
27a66a1e42 test for no-validation-only failure 2019-06-04 13:21:04 +02:00
Ralf Jung
e03255d625 fix existing tests
fix thread-local example to no longer write to pointers derived from a shared ref;
fix compile-fail test
2019-06-02 22:16:02 +02:00
Ralf Jung
dafd2e7202 rustup for ... deprecation 2019-06-01 10:04:49 +02:00
Ralf Jung
c748323eb3 move fn_item/ptr tests to closures file 2019-05-30 11:01:22 +02:00
Ralf Jung
badbd57cee update for rustc warning about missing dyn 2019-05-30 10:58:30 +02:00
Ralf Jung
0dfc1c97c5 test weak_into_raw 2019-05-29 19:36:16 +02:00
Ralf Jung
381c2897b0 test for pointer wrapping ICE 2019-05-28 22:46:56 +02:00
Ralf Jung
0c85dbf3df prepare for MaybeUninit stabilization 2019-05-20 10:53:34 +02:00
Ralf Jung
b9517ca9f3 this also fixed our 2-phase woes 2019-05-15 18:12:58 +02:00
Ralf Jung
7f09e61c31 make HashMap test a bit nicer 2019-05-13 11:45:39 +02:00
Ralf Jung
b08bf47606 fix tests for latest Rust 2019-05-01 20:43:43 +02:00
Ralf Jung
42b70f17d2
Merge branch 'master' into exit 2019-04-22 11:35:36 +02:00
Ralf Jung
a87a7338e6 test System/Global allocator API: alloc_zeroed, realloc 2019-04-21 13:47:12 +02:00
Ralf Jung
0694435650 implement exit
implement exit code via new error kind
2019-04-21 12:36:17 +02:00
Ralf Jung
677bd6f656 add LinkedList test and mention the bug Miri found there 2019-04-19 23:08:24 +02:00
Tim Diekmann
9ecc07c9b2
Add handling for nullptr and size == 0 2019-04-18 15:20:32 +02:00
Tim Diekmann
af3c4c0c23
Merge branch 'master' into realloc 2019-04-18 12:22:58 +02:00
Tim Diekmann
0e6deee76e
Add realloc 2019-04-18 01:20:21 +02:00
Ralf Jung
e1ed855a44 more tests -- also one showing why we are not done yet 2019-04-17 16:02:57 +02:00
Ralf Jung
72cec0562c add tests for fixes: sharing no longer leaks, and we can handle entering interior mutability 2019-04-17 16:02:57 +02:00
Ralf Jung
46d5fd8487 barriers are dead, long live protectors -- this enables overlapping two-phase borrows! 2019-04-17 16:02:57 +02:00
Ralf Jung
e7a500b7e1 test creating two raw pointers from the same mutable ref 2019-04-17 16:02:57 +02:00
Ralf Jung
a503259d8b organize stacked borrows run-pass tests 2019-04-17 16:02:57 +02:00
Ralf Jung
97c34c266f try to test the problematic cast-to-raw case... unfortunately with the implicit reborrow that's not currently possible 2019-04-17 16:02:57 +02:00
Ralf Jung
966d638760 make run-pass tests pass. tweak how we remove barriers. 2019-04-17 16:02:57 +02:00
Ralf Jung
6fdc75024b
Merge branch 'master' into rand 2019-04-16 20:55:58 +02:00
Ralf Jung
ceca7c5020 tweak entropy tests a bit 2019-04-16 19:06:08 +02:00
Ralf Jung
378d9d4172 be pragmatic about ptr-int comparisons, for now 2019-04-16 17:47:37 +02:00
Ralf Jung
aa79244b62 rustup 2019-04-12 22:15:55 +02:00
Ralf Jung
8de4f34a7f Merge remote-tracking branch 'origin/master' 2019-04-11 22:09:09 +02:00
Ralf Jung
83d199eb86 fix async-fn test 2019-04-10 17:20:54 +02:00
Aaron Hill
a8763f3d8d
Don't create HashMap<K, V> when not needed 2019-04-09 23:36:27 -04:00
Oliver Scherer
2eb2c8dd57
Merge branch 'master' into feature/random 2019-04-09 21:58:15 +02:00
Aaron Hill
174874420b
OS X is "macos", not "darwin" 2019-04-08 22:48:57 -04:00
Aaron Hill
858e82bc6f
Disable normal HashMap test on OS X
Implementing random number generation on OS X will require special-casing the
'openat' system call to special-case reading from /dev/urandom
2019-04-08 22:30:38 -04:00
Aaron Hill
b120e8bb88
Only run test with default hasher 2019-04-08 21:42:12 -04:00
Tim Diekmann
fdefac8599
Fix calloc test
Forgot to free the memory. Miri found the bug :)
2019-04-08 01:26:52 +02:00
Aaron Hill
73239573c9
Implement non-deterministc mode
Part of #653

This allows us to properly implement getrandom(),
which unlocks the default HashMap type (e.g. HashMap<K, V>)
with RandomState)

This commit adds a new '-Zmiri-seed=<seed>' option. When present,
this option takes a 64-bit hex value, which is used as the seed
to an internal PRNG. This PRNG is used to implement the 'getrandom()'
syscall.

When '-Zmiri-seed' is not passed, 'getrandom()' will be disabled.
2019-04-07 19:26:20 -04:00
Tim Diekmann
fa0755c9fd
Add calloc test 2019-04-08 01:12:50 +02:00
Ralf Jung
3f552fea26 test calling Box<dyn FnOnce> 2019-04-07 20:06:22 +02:00
Ralf Jung
ddb0496642 temporarily ignore async fn test 2019-04-06 22:11:59 +02:00
Matthew Jasper
3298102a64 Remove unnecessary test directive 2019-04-06 16:17:33 +01:00
Matthew Jasper
7213b91cd4 Use edition flag for 2phase test
The compiler now rejects one of the examples with #![feature(nll)]
2019-04-05 14:35:31 +01:00
Alexander Regueiro
12d3ecbaff Various cosmetic improvements. 2019-02-26 18:37:46 +00:00
Alexander Regueiro
a478bfebd2 Removed copyright notices. 2019-02-26 18:37:45 +00:00
rchaser53
b1c0cf2ef9 use copy_op directly insteadof write_scalar
- fix volatile_store logic
- rename test to be able to read back from later
- expand test to use assert_eq! and confirm to fix volatile_store
- expand test to use assert_eq! and confirm normal load
2019-02-26 19:49:02 +09:00
Ralf Jung
ac23bcd298 test using the Global allocator trait to alloc/free a Box 2019-02-25 09:47:34 +01:00
Ralf Jung
5a8a15361d
Merge branch 'master' into no-two-phase-matches 2019-02-24 16:26:42 +01:00
Ralf Jung
6edf674f4f Merge remote-tracking branch 'origin/master' into btree 2019-02-24 12:22:42 +01:00
Matthew Jasper
acc304c0bd Remove test of two-phase borrows in match 2019-02-24 08:16:21 +00:00
Taiki Endo
441442e071 Update some links 2019-02-23 19:56:29 +09:00
Ralf Jung
edd9e5b7b1 test BTree a bit more 2019-02-22 17:42:01 +01:00
Ralf Jung
5190b5b1e8 test VecDeque debug printing 2019-02-15 10:41:12 +01:00
Ralf Jung
e630175867 fix async-fn test 2019-02-15 09:35:55 +01:00
Ralf Jung
9397b36ab8 typo and comments 2019-02-15 09:35:55 +01:00
Ralf Jung
1921fa5766 actually they should be equal 2019-02-15 09:35:55 +01:00
Ralf Jung
2c3ee678b1 Fix comparing fat pointers 2019-02-15 09:35:55 +01:00
Ralf Jung
c6e747e14c Merge remote-tracking branch 'origin/master' into str-index-mut 2019-02-14 08:33:37 +01:00
Ralf Jung
8466f78e83 ignore overaligned tests on Windows (because, of course, Windows' API is broken here) 2019-02-13 19:48:26 +01:00
Ralf Jung
2d323857e9 implement and test posix_memalign 2019-02-13 17:47:54 +01:00