Commit Graph

1010 Commits

Author SHA1 Message Date
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
7e7b5d42ba
Apply suggestions from code review
Co-Authored-By: Oliver Scherer <github35764891676564198441@oli-obk.de>
2019-06-24 14:50:27 +02:00
Ralf Jung
4d65aa8f20 expand and better explain alignment check tests 2019-06-24 08:40:45 +02: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
Christian Poveda
e57447014d Duplicate compile-fail tests for intptrcast 2019-06-21 16:32:54 -05:00
Ralf Jung
5472755f16 add a failing test where an immovable generator gets moved 2019-06-21 21:48:27 +02: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
Ralf Jung
cf748149ce test unchecked_rem 2019-06-16 11:10:33 +02:00
Ralf Jung
fc90124489 test exact_div UB detection 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
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
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
9f48b3029c test that we cannot access unescaped static memory with a raw ptr 2019-06-02 22:16:02 +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
f10ab1991c fix error pattern 2019-05-27 19:37:31 +02:00
Ralf Jung
74f98b3803 test for new read rules 2019-05-21 15:43:18 +02:00
Ralf Jung
0c85dbf3df prepare for MaybeUninit stabilization 2019-05-20 10:53:34 +02:00
Ralf Jung
4b9e1544c2 give up on two-phase borrows 2019-05-17 15:02:31 +02:00
Ralf Jung
b9517ca9f3 this also fixed our 2-phase woes 2019-05-15 18:12:58 +02:00
Ralf Jung
f676f2265b make writes act stack-like 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
617195eb12 add arielby's example 2019-04-30 20:18:29 +02:00
Ralf Jung
42b70f17d2
Merge branch 'master' into exit 2019-04-22 11:35:36 +02:00
Ralf Jung
7bb461362e Travis: test cargo miri on foreign arch 2019-04-21 22:35:47 +02:00
Ralf Jung
a87a7338e6 test System/Global allocator API: alloc_zeroed, realloc 2019-04-21 13:47:12 +02:00
Ralf Jung
d410b13139 fix compile-fail ref files 2019-04-21 13:18:05 +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
Ralf Jung
287ffb8bba test another version of 'creating a shared ref must not leak the Unique' 2019-04-19 08:46:40 +02:00
Ralf Jung
22b57f6435
Merge branch 'master' into stacked-borrows-2 2019-04-18 19:28:25 +02:00
Tim Diekmann
9ecc07c9b2
Add handling for nullptr and size == 0 2019-04-18 15:20:32 +02:00
Ralf Jung
7d9dc6e698 test that creating a 2nd mutable ref from a NonNull invalidates the first 2019-04-18 14:43:25 +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
ef52be031c adjust compile-fail error messages
This also passes miri-test-libstd!
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
af2b42de0a fix compile-fail test 2019-04-16 19:09:41 +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
a246116bdc rustup 2019-04-14 10:30:00 +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
ae8e7f654a
Fix compile-fail error message 2019-04-09 10:19:29 -04:00
Aaron Hill
9243680588
Use 'ignore-' instead of 'only-'
Apparently 'ignore-' doesn't work with compiletest_rs
2019-04-08 23:52:33 -04:00
Aaron Hill
5e07ff6b1f
Only run 'getrandom' test on Linux 2019-04-08 23:16:13 -04: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
6d3e93c281
Refactor random number generation 2019-04-08 22:22:41 -04:00
Aaron Hill
b120e8bb88
Only run test with default hasher 2019-04-08 21:42:12 -04:00
Aaron Hill
5530d295ad
Simplify cast using as_mut_ptr() 2019-04-08 21:36:35 -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
336a59d264 rename MIRI_TARGET -> MIRI_COMPILETEST_TARGET to clarify that this affects compiletest only 2019-04-07 10:58:10 +02:00
Ralf Jung
72cd133d1b compiletest can just propagate MIRI_SYSROOT from the outside 2019-04-07 10:58:06 +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
Oliver Scherer
56c7656568 Remove dead code and docs 2019-03-11 10:28:03 +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
Ralf Jung
d91ab9a7a6 fix ptr comparison test 2019-02-13 10:07:31 +01:00
Ralf Jung
604095fff2
Merge branch 'master' into format-padding 2019-02-13 08:12:11 +01:00
Ralf Jung
3c652032c0 be more clear which stack we are talking about 2019-02-12 10:51:03 +01:00
Ralf Jung
0802b3a108 implement passing arguments to the interpreted program 2019-02-09 20:00:40 +01:00
Ralf Jung
7827924bfc test padding in format strings 2019-02-09 15:52:59 +01:00
Ralf Jung
0f6e82db36 fix (un)likely intrinsics 2019-02-09 13:08:23 +01:00
Ralf Jung
e5972c38a3 test mutable string slice indexing 2019-02-06 11:47:32 +01:00
Ralf Jung
48ac35f072 panic_impl is another way to panic 2019-02-06 11:41:45 +01:00
Ralf Jung
6b855573bd fix generator test case 2019-01-30 11:51:06 +01:00
Ralf Jung
f7519f36e6 fix tests to avoid deprecated constants 2019-01-28 09:19:56 +01:00
Ralf Jung
b344f0fd43 test some more 2PB stuff 2019-01-04 10:15:53 +01:00
Ralf Jung
3715245a36 add test for offseting fn ptr 2018-12-26 16:23:04 +01:00
Ralf Jung
5a8f9e58f7 properly compare unequal function pointers 2018-12-25 13:29:38 +01:00
Ralf Jung
4e4569cf4b fix build and tests with latest nightly 2018-12-25 13:26:40 +01:00
Ralf Jung
79bdec8a9c fix test for latest nightly 2018-12-22 16:07:50 +01:00
Ralf Jung
a03d184648
Merge branch 'master' into rustup 2018-12-20 13:34:24 +01:00
Ralf Jung
51ed485ba4 implement stdout/stderr on Windows 2018-12-19 12:16:07 +01:00
Ralf Jung
b3f7991367 btree is fixed 2018-12-18 18:41:52 +01:00
Oliver Scherer
77ef84e1e8 Adjust tests for funciton pointer changes 2018-12-17 10:12:04 +01:00
Ralf Jung
e2505dd945 we have no whitelist any more, go back to opt-level 3 2018-12-13 22:07:57 +01:00
Ralf Jung
b0581caeef VecDeque got fixed 2018-12-13 22:05:46 +01:00
Ralf Jung
8bd1f78563 fix libc feature gate 2018-12-13 20:25:24 +01:00
Ralf Jung
5ff67363cb fix warning 2018-12-12 19:51:52 +01:00
Ralf Jung
7e9098ff69 treat ref-to-raw cast like a reborrow: do a special kind of retag 2018-12-12 11:11:20 +01:00
Ralf Jung
8ec371747a do not auto-detect the targets in the sysroot, instead specify target manually through env var 2018-12-12 11:03:42 +01:00
Ralf Jung
5689366a0d use rustc_version also to parse host in compiletest 2018-12-10 13:20:04 +01:00
Ralf Jung
f044205b5f the test suite assumes a libstd with full MIR; run test suite on xargo-built foreign libstds 2018-12-10 10:04:55 +01:00
Ralf Jung
228663248c Merge remote-tracking branch 'origin/master' into rustup 2018-12-08 10:33:14 +01:00
Ralf Jung
d5d1b1e4f3 add FIXME test for coercing &mut to *const 2018-12-07 18:01:59 +01:00
Ralf Jung
bbdc3380d5 fix tests 2018-12-07 10:15:25 +01:00
Ralf Jung
1a41ce6319 Merge remote-tracking branch 'origin/master' into stacked-borrows-2-phase 2018-12-07 09:03:15 +01:00
Ralf Jung
61f20761d3
Merge branch 'master' into stacked-borrows-2-phase 2018-12-03 11:11:32 +01:00
Ralf Jung
0cb3bf7912
Merge branch 'master' into fixme 2018-12-03 10:52:59 +01:00
Ralf Jung
b6e5822601 add FIXME 2018-12-03 10:28:32 +01:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
e73d0a3bca
Merge branch 'master' into fixme 2018-12-03 09:38:32 +01:00
Ralf Jung
9d0c1dd676 disable VecDeque test until the fix lands in rustc 2018-12-03 09:15:18 +01:00
Ralf Jung
0e44876a2d fix mutability gap: do not allow shared mutation when creating frozen reference 2018-12-03 09:15:18 +01:00
Ralf Jung
479eb3bd2b support for basic (non-overlapping) 2-phase borrows 2018-12-02 13:30:09 +01:00
Wim Looman
91f0b28ecc Skip testing targets that don't ship libstd 2018-12-02 12:47:15 +01:00
Ralf Jung
36a2b89522 remove a whole lot of unnecessary attributes 2018-12-02 11:26:09 +01:00
Ralf Jung
429d84f068 remove/fix outdated FIXMEs in tests 2018-12-02 11:14:24 +01:00
Ralf Jung
42e73b5536 async fn got fixed 2018-11-29 17:29:00 +01:00
Ralf Jung
fb72348e5f disable async-fn, for now 2018-11-28 19:06:12 +01:00
Ralf Jung
97e010f5b9 barriers prevent deallocation 2018-11-27 14:26:23 +01:00
Ralf Jung
194710e112 no barriers for boxes 2018-11-27 14:26:23 +01:00
Ralf Jung
58309956c1 for now, we allow Undef in raw pointers as we do in integers 2018-11-27 14:26:23 +01:00
Ralf Jung
dd94930ee3 implement function barriers 2018-11-27 14:26:23 +01:00
Ralf Jung
7d623f73cc do not use 'let _', it is strange 2018-11-26 15:31:53 +01:00
Ralf Jung
1edba2337b
Merge branch 'master' into self-referential-generator 2018-11-26 09:47:22 +01:00
Ralf Jung
094d07c114 Merge remote-tracking branch 'origin/master' into rustup 2018-11-22 08:21:05 +01:00
Ralf Jung
6eb153aca2
Merge branch 'master' into partially-invalidate-mut 2018-11-21 16:53:19 +01:00
Ralf Jung
04794c4c2a test that we support partial invalidation of mutable references 2018-11-21 16:08:46 +01:00
Ralf Jung
ec8cc029c1 on a deref, check that we are not using a mutable ref with a frozen tag 2018-11-21 15:44:47 +01:00
Ralf Jung
984c3368a9 remove stabilized feature flag 2018-11-21 13:41:57 +01:00
Ralf Jung
0b7625a079 make sure compile-fail tests would compile if we screw up 2018-11-21 10:19:00 +01:00
Ralf Jung
7fe24a2b86 also add an async fn test 2018-11-20 16:09:06 +01:00
Ralf Jung
8d6472a76c test self-referential generator 2018-11-20 15:07:09 +01:00
Ralf Jung
22f11b8eec make tests compatible with 2018 edition 2018-11-20 14:15:14 +01:00
Ralf Jung
1ae536b03e use 2018 edition for tests 2018-11-20 12:41:34 +01:00
Ralf Jung
5b095e1652 stdout not implemented on windows 2018-11-20 09:12:29 +01:00
Ralf Jung
6085865975 adjust for InboundsCheck parameter of memory bounds check 2018-11-20 08:45:25 +01:00
Ralf Jung
a806805f23 add an interesting testcase 2018-11-19 10:26:40 +01:00
Ralf Jung
880229d4c3 escape-on-cast, now ptr-deref does not change the tag at all, ever 2018-11-17 10:05:40 +01:00
Ralf Jung
b7dbb5e2a7 also consider boxes like unique references 2018-11-17 10:05:40 +01:00
Ralf Jung
c54dcf59ae add some tests for retagging inside tuples and options 2018-11-16 11:13:55 +01:00
Ralf Jung
a1f895d6f2 retagging: descent into values, type-driven 2018-11-16 11:09:33 +01:00
Ralf Jung
827e5180f2 stacked borrows is broken without full MIR 2018-11-16 10:01:54 +01:00
Ralf Jung
c93f6d6bb0 Merge remote-tracking branch 'origin/master' into escape-to-raw 2018-11-16 09:41:47 +01:00
Ralf Jung
70738bf8cc where there is 2, there should be 1 2018-11-16 08:53:43 +01:00
Ralf Jung
ca7b088aba remove type system tests 2018-11-16 08:50:44 +01:00
Ralf Jung
ba8eb7608e add an interesting demo for &mut being unique 2018-11-15 09:35:40 +01:00
Ralf Jung
a87e952102 Separate deref and access into different operations; add special exception for creating raw references 2018-11-15 09:35:40 +01:00
Ralf Jung
224d03dbdc organize std tests a bit better 2018-11-15 09:35:40 +01:00
Ralf Jung
a94e197105 better test the special exception for reading through unique when things are shared 2018-11-15 09:35:40 +01:00
Ralf Jung
aa8f523df6 test for special things that are now possible 2018-11-15 09:35:40 +01:00
Ralf Jung
94e751267c add another mean test case 2018-11-15 09:35:40 +01:00
Ralf Jung
09919c2b59 Retag is the only operation that generates new tags 2018-11-15 09:35:40 +01:00
Ralf Jung
f233dc0687 Rc should be fixed 2018-11-11 10:12:44 +01:00
Ralf Jung
54307cd888 bump compiletest so that we can share the tempdir() call 2018-11-09 14:04:22 +01:00
Ralf Jung
97302e86c2 remove unused import 2018-11-09 11:51:39 +01:00
Ralf Jung
45e14f8dc5 use custom test runner so that we can get proper test filtering 2018-11-09 11:50:34 +01:00
Ralf Jung
d694dc43f4 bump Rust version 2018-11-08 08:35:14 +01:00
Ralf Jung
74635a57e2 re-do large parts of stacked borrows, now with proper support for partiall frozen data 2018-11-08 08:29:34 +01:00
Ralf Jung
a05ba90300 disable Rc test for now, it ain't working 2018-11-07 14:24:11 +01:00
Ralf Jung
efd2f0e0e4 move new test to correct dir 2018-11-03 12:33:14 +01:00
Ralf Jung
e68687b840 test that we check the layout constraints as early as we can 2018-11-03 12:25:57 +01:00
Ralf Jung
5f42aa61d5 illegal_write2 does not work with optimizations 2018-11-03 10:23:50 +01:00
Ralf Jung
81534496dc rename RefKind to UsageKind, because it not only used for references now 2018-11-01 08:58:03 +01:00
Ralf Jung
3302656247 More extensive slice and vec tests
Not all of them pass validation...
2018-11-01 08:58:03 +01:00
Ralf Jung
430e047a6f start collecting some things ALLOWED by stacked borrows in a run-pass test 2018-11-01 08:58:03 +01:00
Ralf Jung
85f821d7e9 unify checks on memory access and reborrowing, and update for Machine trait change 2018-11-01 08:58:03 +01:00
Ralf Jung
bba3c49e84 basic retagging (no fn_entry); this also makes us catch more bugs even with optimizations and we can finally stop mutating the state on deref 2018-11-01 08:58:03 +01:00
Ralf Jung
7ac0e79ad5 stub Retag hook; fix tests for removal of -Zmir-emit-validate 2018-11-01 08:58:03 +01:00
Ralf Jung
40b7502613 Reject atomic arithmetic on non-integer types
Fixes #181
2018-10-31 11:04:35 +01:00
Ralf Jung
1fa0ff88c0 fix nits 2018-10-30 10:41:01 +01:00
Ralf Jung
6cbe280094 Merge remote-tracking branch 'origin/master' into rustup 2018-10-30 09:40:18 +01:00
Ralf Jung
a48b2cc4e9 disable validation for some tests that need further investigation 2018-10-30 09:40:01 +01:00
Ralf Jung
cba30e8e8b opt level 3 works again :) 2018-10-29 11:51:22 +01:00
Ralf Jung
356369dd08 test against passing invalid shared refs around 2018-10-23 16:01:22 +02:00
Ralf Jung
5388037f8a remove code duplication by letting reactivatable() compute what reactivate() has to do 2018-10-23 15:59:50 +02:00
Ralf Jung
fe83ef323c also run compile-fail tests with and without optimizations 2018-10-23 13:09:17 +02:00
Ralf Jung
cc328f6374 test passing invalid refs around 2018-10-23 11:20:04 +02:00
Ralf Jung
8cd73e534f use as(_mut)_ptr on slices to entirely escape them to raw 2018-10-22 18:51:06 +02:00
Ralf Jung
44b3c38b44 make sure raw ptrs only have to be valid as far as they are used 2018-10-22 18:34:48 +02:00
Ralf Jung
26bb4f79dc get rid of implicit Raw at bottom of stack; locals get a uniq at their bottom 2018-10-22 18:17:37 +02:00
Ralf Jung
fda03e9d7d some more compile-fail tests 2018-10-22 16:48:10 +02:00
Ralf Jung
dd1558f337 rustc update and be very selective about what we accept on a deref 2018-10-22 16:48:09 +02:00
Ralf Jung
0b22a1c9d9 env vars should work on macOS 2018-10-22 09:04:32 +02:00
Ralf Jung
fdb3022a11 env vars are only available with full MIR 2018-10-22 08:41:48 +02:00
Ralf Jung
957d18c343 Merge remote-tracking branch 'origin/master' into rustup 2018-10-22 08:41:01 +02:00
Ralf Jung
bbb1d80703 disable env var test on macOS, win 2018-10-21 01:31:46 +02:00
Ralf Jung
8134918390 don't use NOTE in tests 2018-10-19 12:29:49 +02:00
Ralf Jung
0b6e349417 automalically use start-fn if we have all the MIR 2018-10-19 10:07:17 +02:00
Ralf Jung
b9fe91e486 fix for ptr-to-raw casts properly erasing the tag 2018-10-18 12:04:41 +02:00
Ralf Jung
1907782b64 reenable some tests that work now, and organize them better with directories 2018-10-17 16:58:54 +02:00
Ralf Jung
d4b78b36ab stacked borrows: enforcement at memory accesses 2018-10-17 15:15:53 +02:00
Ralf Jung
348f782085 add env var emulation test, and fix it complaining about leaks 2018-10-16 18:35:27 +02:00
Ralf Jung
37de74f015 test with opt levels 0 and 1 2018-10-16 17:57:03 +02:00
Ralf Jung
c9cf0344ee enable validation for compile-fail tests, and add some new ones 2018-10-12 10:54:37 +02:00
Ralf Jung
62b819ba18 whitelist std::ptr::read 2018-10-12 10:40:44 +02:00
Ralf Jung
26f9d617c3 do not validate start-fn code 2018-10-11 16:10:04 +02:00
Ralf Jung
e4dfb7013b enable validation per default, but add a flag to disable it and use that for some run-pass tests
compile-fail does not do validation yet
2018-10-11 11:24:22 +02:00
Ralf Jung
a090edbc03 explain a test 2018-10-11 08:59:39 +02:00
Ralf Jung
a439262859
Merge branch 'master' into ptr-offset 2018-10-10 10:03:34 +02:00
Ralf Jung
233516b54d Merge remote-tracking branch 'origin/master' into rustup 2018-10-10 09:07:26 +02:00
Ralf Jung
0641d5b6d3 0-offset is also not always okay 2018-10-09 20:13:46 +02:00
Ralf Jung
edf28fa227 only allow offset-by-0 on integer pointers 2018-10-09 20:13:46 +02:00
Ralf Jung
cc275c63a9 fix for fn allocations now having an alignment (1) and a size (0) 2018-10-08 13:35:54 +02:00
Ralf Jung
59eb3dbdae use Box::into_raw 2018-10-07 10:35:34 +02:00
Ralf Jung
959693f1e5 ensure that we cannot use (wrapping_)offset to go from an int ptr to a real ptr 2018-10-06 18:32:39 +02:00
Ralf Jung
146f5d8d10 rustup; test for return type mismatch 2018-10-02 21:16:55 +02:00
Ralf Jung
e8f6973e2d fix test for latest rustc 2018-09-29 19:39:34 +02:00
Ralf Jung
f18cb40e4c test mutating a non-mut static with interior mutability 2018-09-23 09:14:55 +02:00
Ralf Jung
a85b78d30c test for interestingly aligned field access 2018-09-22 08:45:24 +02:00
Ralf Jung
18d7394071 more compile-fail ptr equality tests, to rule out any non-determinism; and fix ptr equality to fail all of them.
At least these are the cases I can think of right now.
2018-09-17 10:02:31 +02:00
Ralf Jung
cd138bcd0b test more operations on dangling ZST pointers 2018-09-17 10:02:31 +02:00
Ralf Jung
130d803b32 fix test for rustup 2018-09-17 09:18:57 +02:00
Ralf Jung
95d79cc11e Merge remote-tracking branch 'origin/master' into zero-sized-accesses 2018-09-17 08:39:59 +02:00
Ralf Jung
95eb77c18e add some compile-fail tests 2018-09-16 17:29:53 +02:00
Ralf Jung
1697b93ed9
Merge branch 'master' into rustup 2018-09-01 10:35:19 +02:00
Ralf Jung
f56841d974 unignore a bunch of tests that actually work 2018-08-30 15:57:17 +02:00
Ralf Jung
c44267960f ptr equality: only defined for ptrs in the same allocation and live ptrs 2018-08-30 10:46:09 +02:00
Ralf Jung
e239fcffc1 new tests for new fn arg passing code 2018-08-30 10:42:18 +02:00
Ralf Jung
904923fa7a move some more helpers to rustc 2018-08-30 10:42:18 +02:00
Ralf Jung
2a244dcb48 no TLS dtor and no leak checks on macOS 2018-08-30 09:41:57 +02:00
Ralf Jung
d1cd254003 no RwLock on Windows 2018-08-30 09:20:08 +02:00
Ralf Jung
0db1c6a1b0 ignore memory leaks on Windows 2018-08-30 08:57:33 +02:00
Ralf Jung
d7a3e040eb pthreads test needs full MIR on Windows 2018-08-30 08:33:38 +02:00
Ralf Jung
addcbd8868 VecDeque now requries full MIR; update to new nightly 2018-08-30 08:21:05 +02:00
Ralf Jung
755c68fdd8 some unary operator tests 2018-08-26 20:42:02 +02:00
Ralf Jung
5ccdbb8de2 small test for extern_type 2018-08-26 15:15:26 +02:00
Ralf Jung
823837922b update for enum discriminant changes 2018-08-25 11:07:21 +02:00
Ralf Jung
9280d17d98 test VecDeque 2018-08-24 19:50:31 +02:00
Ralf Jung
bb5079b2bf rustup 2018-08-24 19:49:57 +02:00
Ralf Jung
40cc72604a update for bool/char being checked at binops 2018-08-24 19:18:21 +02:00
Ralf Jung
1a4ad2bb9f update for miri engine: new function handling, new static handling, fixed leaks 2018-08-24 16:45:08 +02:00
Ralf Jung
ee7f22245d Merge remote-tracking branch 'origin/master' 2018-08-20 18:57:48 +02:00
Ralf Jung
c424e21692 update for memory signedness removal; test some float casts 2018-08-16 11:35:38 +02:00
Ralf Jung
259cc6e3dc rustup for big refactor; kill most of validation 2018-08-16 10:30:43 +02:00
Ralf Jung
98a5b24ef7 test some more things around packed structs 2018-08-14 20:10:25 +02:00
Ralf Jung
bfda0a0a90 add a scary test case 2018-08-14 20:10:25 +02:00
Ralf Jung
04b925135d fix modulo logic 2018-08-14 20:10:25 +02:00
Ralf Jung
2b40d39c1e support computing the remainder of a ptr, if covered by alignment 2018-08-14 20:10:25 +02:00
Ralf Jung
93fef9a6a2 reenable an old test 2018-08-14 20:10:25 +02:00
Ralf Jung
354ec11c3e try using types with lower alignment, maybe that helps for Windows 2018-08-14 18:52:13 +02:00
Ralf Jung
18546308ce mem(r)chr is working in miri now 2018-08-02 00:17:02 +02:00
Ralf Jung
1538b36c80 make sure that StorageDead invalidates the backing store 2018-07-31 20:29:28 +02:00
Ralf Jung
bb6e7c8243
Merge branch 'master' into sanity_checks 2018-07-30 08:51:34 +02:00
Ralf Jung
ee98799185 we no longer need to mess with the environment in our test suite 2018-07-26 16:49:10 +02:00
Ralf Jung
b7c57fee61 Ignore tests
the bool thing will be fixed by the validation I have planned, and we already ignored another test around modifing constants.
2018-07-26 11:21:49 +02:00
Ralf Jung
d11c668a39 no longer run rustc on the tests; instead make sure we actually deny all warnings
Also fix the fallout from that
2018-07-16 08:39:06 +02:00
Ralf Jung
5be8bd987d Test some new capabilities we gained from a rustc update 2018-07-15 21:25:20 +02:00
Ralf Jung
0b8809bf5f port some tests to check the new error format 2018-07-15 12:00:02 +02:00
Ralf Jung
30185d09f6 make sure we show error messages even when we cannot show span 2018-07-15 11:40:57 +02:00
Ralf Jung
25c067ac7a testsuite: put everything into a single test to fix interleaved output mess 2018-07-12 15:05:25 +02:00
Ralf Jung
9718d73ac8 colored test output! 2018-07-12 11:26:09 +02:00
Ralf Jung
8ce16a7c30 remove xargo logic; instead rely on MIRI_SYSROOT being set to run full MIR tests 2018-07-12 11:02:48 +02:00
Ralf Jung
01578ca6b3 don't run all compile-fail tests with full MIR 2018-07-12 11:02:48 +02:00
Ralf Jung
949106148c ignore panic test on Windows 2018-07-12 10:24:25 +02:00
memoryleak47
eb8195f095 typo 2018-07-12 10:22:23 +02:00
Ralf Jung
5f2f254695 move tests that no longer need MIR out of fullmir 2018-07-12 10:22:23 +02:00
Ralf Jung
ff5b0fee33 fix many tests and ignore some others; enable compile_fail tests again 2018-07-12 10:22:23 +02:00
Ralf Jung
7023126094 stop producing binaries 2018-07-11 19:36:45 +02:00
Ralf Jung
d4e8d0b935 fix deprecation warning: use dirs crate for home_dir 2018-07-11 17:42:35 +02:00
bjorn3
ac25a513af Re-enable never_transmute_humans.rs 2018-06-05 18:08:18 +02:00
bjorn3
94754de600 Convert legitimate failing errors to the new error format 2018-06-05 18:08:18 +02:00
bjorn3
8ae66db798 Convert some of the tests to the new format 2018-06-05 18:08:18 +02:00
bjorn3
569792acbc Address some review comments 2018-06-05 18:08:18 +02:00
bjorn3
3db0568c40 Fix a couple of tests 2018-06-05 18:08:18 +02:00
David Renshaw
6a4c62c167 add iter_any test 2018-05-11 13:51:04 +02:00
Oliver Schneider
20c2e0bede
Test miri on mac os 2018-05-11 11:29:18 +02:00
Oliver Schneider
0eb3c18565
Use a deterministic method for executing the start lang item 2018-05-07 10:46:32 +02:00
bjorn3
e09a996b2a
Fix some more tests with some unsafe code 2018-04-13 16:04:57 +02:00
bjorn3
a6cdd8a81b
Fix it 2018-04-13 16:04:57 +02:00
Oliver Schneider
cd89e56f15
Get the tests one step further 2018-04-13 16:04:57 +02:00
Oliver Schneider
bf26b96dc7 Update to latest rustc changes 2017-12-05 17:06:03 +01:00
Oliver Schneider
fd77411a18
Compiler bug 2017-11-30 13:31:37 +01:00
Oliver Schneider
4e8b9451ab Update error messages 2017-11-27 14:31:51 +01:00
Oliver Schneider
042430270f repeat expressions abort due to OOM instead of execution time exhaustion 2017-10-12 11:13:56 +02:00
Ralf Jung
6e8650395d fix oom2 test 2017-09-25 16:21:20 +02:00
Ralf Jung
1ad9709e00 get rid of ad-hoc inhabitedness test 2017-09-22 13:24:55 +02:00
Oliver Schneider
709ab245df Merge branch 'master' into windows 2017-09-16 15:06:26 +02:00
Oliver Schneider
cf92528426 Add windows support 2017-09-16 14:02:59 +02:00
Ralf Jung
5a5aa49db7 get rid of the --miri_host_target hack 2017-09-16 13:29:38 +02:00
Ralf Jung
e7b0637e68 Merge branch 'master' into tests 2017-09-16 12:55:49 +02:00
Ralf Jung
060bb2fa9f use ui test mode rather than mir-opt
These tests are not run per default
2017-09-16 12:36:31 +02:00
Ralf Jung
bc240ff606 add an undef validation test 2017-09-16 12:11:48 +02:00
Ralf Jung
2ea6663440 validation: check that int, float etc. are not undef 2017-09-16 11:45:56 +02:00
Ralf Jung
5d2ed4d2ba Something in panic handling fails validation with full-MIR 2017-09-13 18:15:59 +02:00
Ralf Jung
c1630973d0 Disable the address-of-ZST test for now; it is buggy as it disagrees with rustc 2017-09-13 18:15:59 +02:00
Ralf Jung
bac89ae1d8 enable validation for a bunch of more tests 2017-09-13 15:46:53 +02:00
Ralf Jung
aa578de018 identify write locks by lvalues, not regions
This makes a new compile-fail test pass.
2017-09-13 14:37:31 +02:00
Oliver Schneider
ce3576f7d8
Use correct rustc in rust's CI 2017-09-11 11:01:26 +02:00
Ralf Jung
ce4875484f there are more tests we can enable again 2017-09-09 11:30:15 +02:00
Ralf Jung
41f228824f fix warnings in tests; update validation whitelist 2017-09-09 11:18:02 +02:00
Ralf Jung
00c909dbd0 we can enable a bunch of tests for validation again 2017-09-09 11:18:02 +02:00
Oliver Schneider
5570a78c51
Disable validation for some tests 2017-09-07 16:56:46 +02:00
Ralf Jung
9fe0d60da6 disable optimized tests until rustc is fixed 2017-09-06 10:30:00 +02:00
Ralf Jung
59cbfdbf08 enable a test that works just fine 2017-09-06 10:10:43 +02:00
Oliver Schneider
e9315a60e4 Rustup 2017-09-06 10:10:15 +02:00
Ralf Jung
3b6852abf0 Merge branch 'master' into align_offset 2017-09-04 13:22:11 +02:00
Ralf Jung
8dff161bcb update compiletest; we do not need tempdir any more 2017-09-04 13:02:55 +02:00
Ralf Jung
ea911ca8a7 disable validation in failing tests for now 2017-09-04 11:48:48 +02:00
Oliver Schneider
cf25ef9d9d
Implement align_offset intrinsic and thus enabling from_utf8 2017-09-01 12:26:51 +02:00
Oliver Schneider
58a59e9d23
Rustup (generator support) 2017-08-30 13:16:27 +02:00
Ralf Jung
e6a874b0bf test new From instances for Rc 2017-08-29 16:51:26 +02:00
Oliver Schneider
506a5c7910
Mir optimizations treat single variant enums as structs 2017-08-29 12:26:20 +02:00
Oliver Schneider
88fc45b37c
Get some more rustc tests working 2017-08-29 11:58:22 +02:00
Oliver Schneider
206f0bd6df
Fix panic in subslice patterns of arrays (fixes #276) 2017-08-29 10:03:00 +02:00
Oliver Schneider
f817f1c660
Get rid of env var race condition once and for all 2017-08-28 17:32:21 +02:00
Oliver Schneider
dd5b0100f3
Merge remote-tracking branch 'origin/master' into memory 2017-08-28 16:13:09 +02:00
Oliver Schneider
385b5b9fd1 Merge branch 'master' into priroda 2017-08-28 15:37:10 +02:00
Oliver Schneider
02a0f0f814 Turn off validation for some compile-fail tests 2017-08-28 15:04:32 +02:00
Oliver Schneider
9d10e0154b
Mir validation can't cope with mem::uninitialized::<SomeEnum>() 2017-08-28 14:53:43 +02:00
Oliver Schneider
e28f4a8e3e
Add a regression test for #313 2017-08-28 14:10:59 +02:00
Ralf Jung
907d2c7310 rustc #43457 got fixed, we can enable more tests 2017-08-27 18:18:32 +02:00
Ralf Jung
2307d6fc5b Merge branch 'master' into memory 2017-08-26 13:51:13 +02:00
Ralf Jung
2e28e14474 reorder lets so that build_dir is deleted last 2017-08-26 13:23:04 +02:00
Ralf Jung
df20c0684c use tempdir to create a dedicated directory for each test 2017-08-26 13:12:55 +02:00
Ralf Jung
ac80212f7e move tests with MIR-opt to their own function we we can run them separately 2017-08-25 19:21:10 +02:00
Ralf Jung
f036fe0d32 refactor memory read API: provide only size-based, no type-based methods 2017-08-25 16:20:13 +02:00
Ralf Jung
8539728607 memory: make sure we check non-NULL/undef even fore 0-sized accesses 2017-08-25 14:41:59 +02:00
Ralf Jung
e332ab9b13 Handle closures in get_field_ty
Fixes #304
2017-08-24 13:34:05 +02:00
Ralf Jung
2fccae8aac add another compile-fail test for validation 2017-08-18 11:30:18 +02:00
Ralf Jung
90edc03eea Add a test demonstrating the limitations of our lfietime resolution 2017-08-18 11:29:51 +02:00
Ralf Jung
7e5d971c56 fix warnings; make test suite pass again 2017-08-12 09:45:44 -07:00
Ralf Jung
2be159bacd enable a test that waited for a rustc fix 2017-08-11 09:12:46 -07:00
Oliver Schneider
8019deb0a9 Update compiletest.rs 2017-08-10 19:39:32 +02:00