Commit Graph

471 Commits

Author SHA1 Message Date
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
Oliver Schneider
33ff32cac8
Get the test suite working inside the rustc test suite 2017-08-10 18:32:06 +02:00
Ralf Jung
1326aed02c rustfmt
Except for error.rs, the result there looks rather ugly
2017-08-10 08:48:41 -07:00
Ralf Jung
34685044f9 add a bunch of compile-fail tests for validation 2017-08-09 18:01:10 -07:00
Ralf Jung
5e018b1deb analyzing hashmap.rs uncovered a deeper problem; disable validation there for now 2017-08-09 15:49:47 -07:00
Ralf Jung
bff1ad156e integer-ops needs a rustc patch to work again 2017-08-09 15:49:47 -07:00
Ralf Jung
668491a892 Work on making validation test pass again
Turns out that tracking write locks by their lifetime is not precise enough,
but for now, we don't have an alternative.  Also, we need to force_allocate
what we acquire or else the memory will not be in the right state.
2017-08-09 15:49:47 -07:00
Ralf Jung
11f0aedc3d add some tests making sure we get the alias checking right 2017-08-09 15:49:47 -07:00
Oliver Schneider
8ab1eeef51
Implement packed statics 2017-08-08 17:09:26 +02:00
Oliver Schneider
4ba2b82f31
Split the alloc id address space into functions and normal allocs
instead of interleaving them as before.
The next step is to also separate out static memory into its own
address space.
2017-08-08 17:09:25 +02:00
Ralf Jung
847396e412 Re-do memory locking (again). Now with proper support for multiple independent shared borrows of the same mutable reference. 2017-08-07 12:57:32 -07:00
Ralf Jung
2a1d7666ed Merge pull request #286 from RalfJung/mir-validate
Update MIR validation and test it
2017-08-04 22:02:52 -07:00
Oliver Schneider
181bb30d07 Rustc reorders fields, but miri expects them in source order 2017-08-04 13:43:17 +02:00
Ralf Jung
4957031e3c selectively disable validation in compile-fail where appropriate. cargo test now passes :) 2017-08-03 18:13:23 -07:00
Ralf Jung
9458111681 for now, disable validation on optimized tests -- inlining breaks validation 2017-08-03 18:13:23 -07:00
Ralf Jung
58a17026c9 Let -Zmir-emit-validate also control whether miri even acts on the validation commands 2017-08-03 18:13:23 -07:00
Ralf Jung
766a69f656 make test suite MIR validation aware. run-pass passes with and without fullmir, if optimizations are disabled! 2017-08-03 18:13:22 -07:00
Oliver Schneider
726b027ba3 Merge pull request #280 from solson/archeology
Produce backtraces for miri internals
2017-08-03 23:02:29 +02:00
Ralf Jung
2cf394955b actually, we can use a plain constant 2017-08-03 12:58:34 -07:00
Ralf Jung
0f43321178 no need to do run-time formatting 2017-08-03 12:39:55 -07:00
Ralf Jung
de1376f923 Add a build script to inform the binary about its profile, and use that in the test suite 2017-08-03 11:38:00 -07:00
Ralf Jung
c533cf8496 fix size_of_val on unsized tuples 2017-08-02 15:29:13 -07:00
Oliver Schneider
40677a5c47 Choose release miri for release tests 2017-08-02 18:28:12 +02:00
Oliver Schneider
f8c61da070 Add a test for untagged unions 2017-08-02 12:56:07 +02:00
Oliver Schneider
adfea61665
Allow machines to create new memory kinds 2017-08-01 09:56:21 +02:00
Oliver Schneider
11e30a65e6
Split up miri into the librustc_mir and bin parts 2017-08-01 09:56:21 +02:00
Ralf Jung
4672cb7bde make force_allocation handle packed ByValPair 2017-07-26 23:45:22 -07:00
Oliver Schneider
f906c5458c Merge pull request #272 from oli-obk/mir-validate
Mir validate
2017-07-26 23:37:52 +02:00
Ralf Jung
744780e794 more hacks to make test cases pass 2017-07-25 17:31:40 -07:00
Ralf Jung
e5cc8aaf5b Test that &* of a dangling (and even unaligned) ptr is okay 2017-07-25 17:02:57 -07:00
Ralf Jung
f960f4c537 fix casting integers to pointers 2017-07-21 20:02:48 -07:00
Oliver Schneider
4cfa7c5d12
Prep miri repository for rustc merger 2017-07-21 11:30:56 +02:00
Oliver Schneider
b4e300d577 Merge pull request #266 from RalfJung/align
Always test alignment in memory.rs
2017-07-21 09:46:50 +02:00
Ralf Jung
14cb85809b always test alignment in memory.rs 2017-07-20 13:24:06 -07:00
Oliver Schneider
f2d0101065
Also test optimized MIR 2017-07-20 20:25:43 +02:00
Oliver Schneider
f822ad5c63 Merge pull request #260 from RalfJung/tests
Split up test suite
2017-07-20 16:07:08 +02:00
Eduard-Mihai Burtescu
e79bb42ab3 Merge pull request #262 from RalfJung/never
remove ad-hoc 'never' type check in read_lvalue
2017-07-20 15:13:21 +03:00
Oliver Schneider
101e5a8ba0 Move rustc tests from tests to a binary, since they are only run manually anyway 2017-07-20 13:11:40 +02:00
Ralf Jung
3b19c83c67 remove ad-hoc 'never' type check in read_lvalue 2017-07-19 20:32:51 -07:00
Ralf Jung
7648ccaae1 add test for misaligned pointer loads 2017-07-19 20:26:30 -07:00