Commit Graph

768 Commits

Author SHA1 Message Date
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