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
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
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
Ralf Jung
e38ee0a30a
split up the test suite
2017-07-19 12:52:20 -07:00
Ralf Jung
e4ffab1754
enable test code that passes just fine
2017-07-19 11:38:15 -07:00
Ralf Jung
72664e42aa
No longer check aligment and non-NULLness on &
...
This breaks creating unaligned raw pointers via `&packed.field as *const _`, which needs to be legal.
Also it doesn't seem like LLVM still relies on this, see
* https://github.com/solson/miri/issues/244#issuecomment-315563640
* https://internals.rust-lang.org/t/rules-for-alignment-and-non-nullness-of-references/5430/16
We probably want to handle this invariant like the others that validation is concerned with, and only
check it on function boundaries for now.
2017-07-19 11:28:35 -07:00
Ralf Jung
ff9192e346
remove reundant dangling checks in {r,d}eallocate
2017-07-18 13:50:54 -07:00
Oliver Schneider
2e562a4d64
Fix static mutation tests
2017-07-14 17:39:19 +02:00
Oliver Schneider
7701ff2f89
Remove duplicate test
2017-07-14 17:39:19 +02:00
Oliver Schneider
192da8819f
Ensure that it is not possible to explicitly free stack memory
2017-07-14 17:36:06 +02:00
Oliver Schneider
56d4de303f
Merge pull request #247 from RalfJung/packed
...
Re-do packed memory accesses
2017-07-14 08:30:30 +02:00
Ralf Jung
0fbbcae92d
packed structs: test unsize coercions
2017-07-13 14:18:26 -07:00
Ralf Jung
287b6be5ca
track alignment also for ByRef values
2017-07-12 21:06:57 -07:00
Ralf Jung
1fe310c8ba
Memory::read_ptr has to check for relocations on the edges
2017-07-12 19:30:37 -07:00
Ralf Jung
c149c3fc6a
Re-do packed memory accesses
...
We now track in the lvalue whether what we computed is expected to be aligend or not, and then set some state in the memory system accordingly to make it (not) do alignment checks
2017-07-12 17:46:56 -07:00
Oliver Schneider
4a03e45169
Add tests for #113
...
resolves #113
2017-07-12 09:29:18 +02:00