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
82ef2bb0e2
rename miri-issue to issue-miri for grouping
2019-11-14 10:16:44 +01:00
Steven Gu
ca983f5f80
Implments intrinsics::copysignf32
and intrinsics::copysignf64
.
2019-11-13 17:41:09 +08:00
bors
9316d90315
Auto merge of #1040 - RalfJung:rustup, r=RalfJung
...
rustup
2019-11-08 17:49:38 +00:00
Ralf Jung
4c25cf0a87
fix into_iter usage
2019-11-08 12:43:26 +01:00
Ralf Jung
428fc531d8
silence a lint that catches the bug statically
2019-11-07 09:44:00 +01:00
Ralf Jung
57dec5c791
also test Box<self> receiver
2019-11-07 09:17:40 +01:00
Ralf Jung
b7a8ce1be0
move blosure tests to closures file; test Box<dyn> a bit more
2019-11-07 09:14:23 +01:00
Ralf Jung
04c12952ca
centralize and expand dyn-trait (method receiver) tests
2019-11-07 09:05:11 +01:00
Ralf Jung
c77b282695
rename call_drop_ tests to drop_
2019-11-07 08:56:11 +01:00
Ralf Jung
8b1630cb3b
tweak and slightly extend box-box-trait test
2019-11-07 08:55:59 +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
f4fb330c67
test offset_from
2019-11-05 20:17:35 +01:00
bors
9f0b99bae3
Auto merge of #1036 - RalfJung:stacked-borrows-test, r=RalfJung
...
add an interesting run-pass stacked borrows example
2019-11-05 10:05:59 +00:00
Ralf Jung
99282efc86
add an interesting run-pass stacked borrows example
2019-11-05 11:05:02 +01:00
Ralf Jung
9b4ceec60e
update comment re: not using higher mir-opt-level
2019-11-04 11:17:40 +01:00
Ralf Jung
fcf0f886d4
adjust tests
2019-11-03 10:15:55 +01:00
Ralf Jung
459aea8f52
test align_to example
2019-10-25 20:26:01 +02:00
Christian Poveda
be415dbeda
Use new write_bytes method
2019-10-22 11:44:49 -05:00
Ralf Jung
2690f5948a
rustup: fix for write_bytes and new union rules
2019-10-22 10:13:11 +02:00
Christian Poveda
61da8b8428
Add OsString from/to bytes helper functions
2019-10-18 09:47:19 -05:00
bors
d902a11575
Auto merge of #975 - christianpoveda:clock-shim, r=RalfJung
...
Add clock_gettime shim
r? @oli-obk
I think there is no way to do proper testing of this other than checking that miri does not crash when calling `clock_gettime`.
2019-10-15 07:36:42 +00:00
Christian Poveda
f9c768864a
Use places instead of ptrs to write packed immtys
2019-10-14 16:00:40 -05:00
Christian Poveda
f425f445d1
Check that fs errors have the proper kind
2019-10-14 07:24:52 -05:00
Ralf Jung
9082092a71
use temp_dir for FS test
2019-10-11 23:02:04 +02:00
Christian Poveda
aa3e9703d1
Add clock_gettime shim
2019-10-11 11:36:33 -05:00
bors
6a2776e465
Auto merge of #983 - christianpoveda:fs-shims-tweaks, r=RalfJung
...
Various fixes to the file related shims
Hi @RalfJung, I'll be working incrementally over your comments for the new `fs` shims module here.
2019-10-11 13:37:05 +00:00
Christian Poveda
67ea454647
Correct style of comments
2019-10-11 04:17:43 -05:00
Christian Poveda
e9138ab4d6
Rename file manipulation test to fs
2019-10-11 04:01:07 -05:00
Christian Poveda
ae9f4e1e63
Avoid using the tests folder for the file manipualtion test
2019-10-11 04:00:12 -05:00
Christian Poveda
8368d4f2b4
Add comments to explain the chdir test
2019-10-11 02:35:50 -05:00
Ralf Jung
62f08eb416
also test AcqRel fence
2019-10-09 10:29:08 +02:00
Christian Poveda
00792493ef
Add tests for non-existing files
2019-10-08 08:57:30 -05:00
Christian Poveda
ffc47de1b9
Add unlink shim to delete files
2019-10-08 08:50:58 -05:00
Nicolas
bd4a2996d1
Add test for atomic fences
2019-10-05 08:20:17 -03:00
Christian Poveda
6c36a8c949
Return earlier when reading/writing 0 bytes
2019-10-02 09:12:03 -05:00
Christian Poveda
f5022b19d3
Fix dangling pointer bug for zero-sized reads
2019-10-02 08:43:23 -05:00
Christian Poveda
cd495cb04f
Add file writing capabilities
2019-10-01 11:10:37 -05:00
bors
1037f69bf6
Auto merge of #962 - christianpoveda:file-shim, r=oli-obk
...
Add shims for file handling
This adds the bare minimum to be able to do `File::open` and `File::read`. I also need some feedback about how to handle certain things
2019-10-01 15:33:09 +00:00
Christian Poveda
b540e5d24e
Reserve fides for stdio and fix merge issues
2019-09-30 10:54:51 -05:00
bors
57cc8ce1d7
Auto merge of #970 - RalfJung:align_offset, r=RalfJung
...
more align_offset tests
Cc @christianpoveda
2019-09-29 16:26:36 +00:00
Ralf Jung
a9c207dce2
fix tests on 32bit
2019-09-29 12:26:13 -04:00
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
Ralf Jung
8ecd767791
fix test failure from diagnostics change
2019-09-29 11:30:28 -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
145a5826d5
Check that chdir
fails for non-utf8 paths
2019-09-24 17:28:38 -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
bors
dd94c7c5a3
Auto merge of #944 - rust-lang:rustup, r=oli-obk
...
Rustup to 1.39.0-nightly (1e869133b
2019-09-09)
2019-09-09 11:10:42 +00:00
Oliver Scherer
b952584186
Rustup to 1.39.0-nightly ( 1e869133b
2019-09-09)
2019-09-09 13:00:20 +02:00
Wesley Wiser
636439c33f
Re-enable run-pass tests with optimizations enabled
2019-09-09 06:32:46 -04: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
Christian Poveda
f4a25e530a
Add env exclusion test
2019-08-28 17:57:41 -05:00
bors
2be0db4c0b
Auto merge of #917 - RalfJung:isolation, r=oli-obk
...
change flag name: enable-communication -> disable-isolation
r? @oli-obk -- I think this is a better name for the flag but it is still somewhat clumsy. Suggestions?
2019-08-27 10:02:07 +00:00
Ralf Jung
26afb4685d
hashmap ICEs with optimizations, temporarily disable
2019-08-27 08:42:36 +02: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
bors
9d14a62628
Auto merge of #913 - RalfJung:uninit, r=RalfJung
...
test some new uninit APIs
2019-08-18 11:39:31 +00:00
Ralf Jung
be4108e27c
test some new uninit APIs
2019-08-18 11:34: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
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
Christian Poveda
67d13577aa
Move test env var to test_runner
2019-08-13 12:10:24 -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
bors
7b3de392df
Auto merge of #899 - RalfJung:generators, r=RalfJung
...
More generator tests
Cc @tmandry -- do these look reasonable for checking the new "partial init" case that was discovered?
2019-08-09 20:04:20 +00:00
Ralf Jung
b93629262d
test that even &Cell must be dereferencable
2019-08-09 19:22:47 +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
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
Tyler Mandry
f544721de4
Add generator, async tests with uninhabited saved local
2019-08-07 16:56:35 -07:00
Christian Poveda
253af9692a
Fix formatting
2019-08-07 10:50:46 -05: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
Ralf Jung
d26917a9d6
fix for latest rustc
2019-08-05 10:45:48 +02: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
f47e58950b
check that atomics are sufficiently aligned, and add test
2019-08-04 10:30:42 +02: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
bors
d9d6df93a9
Auto merge of #881 - RalfJung:rustup, r=RalfJung
...
adjust for rustc changes
2019-08-03 18:56:38 +00:00
Ralf Jung
a41ec9aacb
adjust error messages in tests
2019-08-03 20:54:57 +02:00
bors
d0e8850267
Auto merge of #877 - christianpoveda:ldexp-shim, r=RalfJung
...
Add shim for ldexp
Fixes https://github.com/rust-lang/miri/issues/821
r? @RalfJung
2019-08-03 16:14:20 +00:00
Ralf Jung
bff6b05424
more consistent test name
2019-08-03 17:27:50 +02:00
Ralf Jung
773f6aeb4c
remove some compile-fail tests that now work
2019-08-03 15:01:04 +02:00
Christian Poveda
ff2001040f
Add shim for ldexp
2019-08-02 15:46:28 -05:00
Ralf Jung
2973063fa3
test dangling ZST deref
2019-08-02 14:26:15 +02:00
Ralf Jung
3318657eaf
test Ref/RefMut protector interactions
2019-08-02 08:15:52 +02:00
Ralf Jung
c4c2716f4e
make reborrow shallow, and fix tests for that
2019-08-02 08:09:22 +02:00
Ralf Jung
6c545ba340
the compile-fail-norustc hack is no longer needed
2019-07-31 15:29:55 +02:00
bors
5bbf6733ea
Auto merge of #869 - RalfJung:tests, r=oli-obk
...
test suite: be fine with warnings when running on rustc CI
r? @oli-obk
2019-07-31 11:54:00 +00:00
Ralf Jung
a414492cc7
reorder for clarity
2019-07-31 13:48:49 +02:00
Ralf Jung
edf7d1c30c
dedup code a bit
2019-07-31 13:48:15 +02:00
Ralf Jung
6dadb94101
test suite: be fine with warnings when running on rustc CI
2019-07-31 13:44:55 +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
d5ca345c36
remove redundant tests / flags
2019-07-23 23:26:25 +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
59190e8542
disable some compile-fail tests for rustc
2019-07-20 22:38:41 +02:00
Ralf Jung
95e6e671bf
fix compile-fail tests for latest rustc
2019-07-16 18:39:18 +02:00
Ralf Jung
f1b623c313
test some const-generic-using methods
2019-07-13 10:25:04 +02:00
Ralf Jung
e7b39e382a
reenable all tests on Windows
2019-07-11 18:41:53 +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
Lzu Tao
3ea62d3527
Remove SliceConcatExt import
2019-07-10 09:56:35 +07:00
Ralf Jung
4f6a56f54f
better error message when the program tries to spawn a thread
2019-07-06 10:07:21 +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
4d76dd1f09
temporarily disable validation on Windows
2019-07-05 21:26:58 +02:00
Ralf Jung
9b58492df1
temporarily disable intptrcast advanced testing on Windows
2019-07-05 19:22:22 +02:00
Ralf Jung
802dcb7f89
temporarily disable ptr_offset, maybe that helps
2019-07-05 00:06:41 +02:00
Christian Poveda
8dfb278ac5
Fix explicit cast test
2019-07-03 15:59:32 -05:00
Christian Poveda
074e20eb7b
Add intptrcast test for explicit casts
2019-07-03 13:38:39 -05:00
Ralf Jung
b29cb7d551
avoid catching errors
2019-07-03 10:56:25 +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
0bb50ada34
make sure we catch alignment problems even with intrptrcast
2019-06-29 14:31:54 +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
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