David Cook
341212acd6
Rewrite fs tests
2020-02-23 15:34:49 -06:00
David Cook
a82049587c
Use longer file names in test
2020-02-23 15:28:50 -06:00
David Cook
d461c12c83
Add more information to test asserts
2020-02-23 15:26:47 -06:00
David Cook
5d35339111
Add shim for readdir64_r
2020-02-23 15:08:44 -06:00
David Cook
5b34f06bae
Add shims for mkdir and rmdir
2020-02-23 15:02:49 -06:00
Ralf Jung
3e2f29a079
remove some no-longer-needed allow(const_err)
2020-02-21 11:05:56 +01:00
Ralf Jung
627d7cba64
fix for const-prop lint changes
2020-02-21 10:33:00 +01:00
David Cook
32a354efa3
Test error case of std::fs::rename
2020-02-20 21:54:52 -06:00
Ralf Jung
3cd13cb174
test a bit more
2020-02-19 11:14:30 +01:00
Ralf Jung
f79c453860
factor more common code
2020-02-19 11:12:30 +01:00
Ralf Jung
8b31763816
fs test: factor some common code
2020-02-19 11:12:30 +01:00
David Cook
0933314bff
Rewrite file system tests
2020-02-17 22:36:33 -06:00
David Cook
962a740426
Rewrite file descriptor handling
2020-02-17 22:24:33 -06:00
David Cook
636ad629f8
Functional test of cloned file handle
2020-02-17 22:24:33 -06:00
David Cook
085874d1ff
Add F_DUPFD/F_DUPFD_CLOEXEC to fcntl shim
2020-02-17 22:24:33 -06:00
bors
daaf9f7e28
Auto merge of #1177 - RalfJung:debug-assert, r=RalfJung
...
Make sure we evaluate debug assertions in local crate and libstd
Fixes https://github.com/rust-lang/miri/issues/1126
2020-02-16 13:04:06 +00:00
Ralf Jung
8acf52b3ca
fix compile-fail tests to avoid libstd debug assertions
2020-02-16 14:01:00 +01:00
Ralf Jung
6ff5b3fcf9
make sure we also trigger debug assertions in libstd
2020-02-16 13:55:51 +01:00
Ralf Jung
39a78f0b24
make sure assertions and debug-assertions also panic (and can be caught)
2020-02-16 13:47:31 +01:00
bors
0a803c9752
Auto merge of #1158 - divergentdave:shim-rename, r=RalfJung
...
Add shim for rename
This adds a straightforward shim for rename, which is used by `std::fs::rename`. Testing is included.
As a heads up, I expect one or two merge conflicts between my PRs, since some of them touch the same `use` statements, or add items near the same places. I'll rebase and fix them as they come up.
2020-02-14 20:26:23 +00:00
David Cook
91868125a5
Removing file after rename must succeed
...
Co-Authored-By: Ralf Jung <post@ralfj.de>
2020-02-14 08:19:16 -06:00
Ralf Jung
a843fd4e17
add test for layout optimizations
2020-02-12 22:04:58 +01:00
David Cook
f7e0857644
Test that src path of rename is no longer a file
2020-02-08 22:40:46 -06:00
David Cook
38204b6321
Add shim for rename
2020-02-08 22:33:49 -06:00
bors
f9615bfd67
Auto merge of #1159 - divergentdave:shim-seek, r=RalfJung
...
Add shim for seeking files
This adds a shim for `lseek64` (`lseek` on macOS). This enables the use of `<File as Seek>::seek`. Testing is included.
2020-02-08 13:54:33 +00:00
Ralf Jung
45f6744fda
panics dont work on Windows, just the smoke test should be enough
2020-02-07 14:20:42 +01:00
Ralf Jung
418dd641dc
test more generator resume things
2020-02-07 14:02:36 +01:00
Ralf Jung
d208a5fe3b
rustup; fix generator test
2020-02-07 14:02:27 +01:00
David Cook
98a1cac4ef
Add tests to cover SEEK_CUR and SEEK_END
2020-02-06 17:50:33 -06:00
Ralf Jung
5d2caef3ce
also test div-by-minus-1
2020-02-06 11:24:38 +01:00
Ralf Jung
4b6a0d7a8e
bump rustc; adjust tests
2020-02-06 11:20:28 +01:00
bors
9c0b89cff7
Auto merge of #1163 - RalfJung:raw-cast, r=RalfJung
...
Test raw-ptr-cast without reborrow
With https://github.com/rust-lang/rust/pull/64588 landed, we can finally test these things adequately. :)
2020-01-30 22:20:36 +00:00
bors
e7f5c4f155
Auto merge of #1151 - divergentdave:statx-AT_EMPTY_PATH, r=RalfJung
...
Add support for AT_EMPTY_PATH to statx shim
This enables use of `File::metadata()`.
2020-01-30 21:30:32 +00:00
Ralf Jung
b2c9871f7d
update another comment
2020-01-30 13:29:55 +01:00
Ralf Jung
3cf413e4c2
remove inadequate comment
2020-01-30 12:22:54 +01:00
Ralf Jung
e0adfe4d45
new compile-fail test involving non-reborrowing-cast-to-raw
2020-01-30 12:22:15 +01:00
Ralf Jung
acd156d722
add test that relies on non-reborrowing-cast-to-raw
2020-01-30 12:17:02 +01:00
bors
aff1e43137
Auto merge of #1154 - TimDiekmann:rename-alloc, r=RalfJung
...
Rename `Alloc` to `AllocRef`
Required to land https://github.com/rust-lang/rust/pull/68529 . Please see that PR for details. The CI is expected to fail until the PR is landed.
2020-01-29 21:44:06 +00:00
bors
8c5dee6f88
Auto merge of #1155 - divergentdave:shim-posix_fadivse, r=RalfJung
...
Add no-op shim for posix_fadvise
This function is present in the libc crate, but not exposed through the standard library anywhere, so I haven't included a test for it.
2020-01-29 21:24:30 +00:00
Tim Diekmann
3d8bf92a11
Rename Alloc
to AllocRef
...
Required to land https://github.com/rust-lang/rust/pull/68529 . Please see that PR for details. The CI is expected to fail until the PR is landed.
2020-01-29 04:10:33 +01:00
David Cook
a30914bcdd
Conditional compilation fix
2020-01-28 20:39:06 -06:00
David Cook
a39a5f8189
Disable posix_fadvise test on macOS, not in libc
2020-01-28 19:57:56 -06:00
David Cook
2a2dde1494
Try fixing test on i686-unknown-linux-gnu
2020-01-28 19:04:16 -06:00
David Cook
b2d404d19a
Move posix_fadvise test to new libc test file
2020-01-28 18:59:49 -06:00
Ralf Jung
9f6df67238
test track_caller with fn ptrs
2020-01-28 22:55:07 +01:00
David Cook
4e42e77483
Add test for posix_fadvise
2020-01-27 06:28:45 -06:00
David Cook
03b5d95cff
Add shim for lseek64
2020-01-26 12:36:36 -06:00
David Cook
d94b88ef98
Add support for AT_EMPTY_PATH to statx shim
2020-01-25 22:21:33 -06:00
David Cook
9265e0cd5e
Add compiler fences to test
2020-01-25 13:48:26 -06:00
Ralf Jung
b2303a7da1
slice_patterns is stable now
2020-01-19 10:03:18 -06:00
bors
b4c54b4641
Auto merge of #1143 - christianpoveda:symlink-shim, r=RalfJung
...
Add shim for symbolic link creation
r? @RalfJung
2020-01-10 17:21:12 +00:00
Christian Poveda
0b5a30515e
small corrections
2020-01-10 12:01:05 -05:00
Ralf Jung
833816dd35
Unwind panicking does not currently work on Windows
2020-01-09 11:41:08 +01:00
Ralf Jung
e9b4323048
also make sure the hook actually gets called
2020-01-09 11:24:41 +01:00
Ralf Jung
b1676a3e89
test that unwrap gets us the right panic location
2020-01-09 11:20:13 +01:00
Christian Poveda
329310fbd6
Clean paths for robustness
2020-01-07 11:09:07 -05:00
Christian Poveda
4a1dbc77dc
Add shim for symbolic link creation
2020-01-06 16:30:17 -05:00
Ralf Jung
0217a25a12
remove no-longer-needed allow(const_err)
2020-01-06 11:38:35 +01:00
Ralf Jung
c68996dda7
note a FIXME
2020-01-02 15:57:33 +01:00
Wesley Wiser
959033cbfb
Bump rustc version to fix miri
2020-01-01 21:33:51 -05:00
Ralf Jung
31fbb5a9b2
fix imports
2019-12-31 12:10:52 +01:00
Ralf Jung
e1fceafcea
with FS access, default HashMap should work on macOS
2019-12-31 12:06:42 +01:00
Ralf Jung
e952e37a39
compile-fail tests work with optimizations now
2019-12-29 12:38:40 +01:00
Christian Poveda
75f7a118e6
remove restrictions due to stat
unavailability
2019-12-25 12:38:34 -05:00
Christian Poveda
d9ecd77ada
add dummy stat shim
2019-12-25 08:27:49 -05:00
Ralf Jung
e325ad24f2
support main functions with Result return type
2019-12-23 17:45:23 +01:00
Oliver Scherer
7ead530841
Rustfmt all the things
2019-12-23 12:56:23 +01:00
bors
a3ea1cb458
Auto merge of #1101 - christianpoveda:stat-shim, r=RalfJung
...
Add statx shim for linux target
This is an attempt to fix: https://github.com/rust-lang/miri/issues/999 (for linux only)
Currently there is one problem that I haven't been able to solve. `std::fs::metadata` fails because the creation time is not available even though it is provided in the shim code.
In order to inform the caller that the field was provided, the `stx_flag` field must have the bits of `STATX_BTIME` set (which they are). The creation time is in the `stx_btime` field of the `statx` struct (see [1]). The relevant code in `libstd` is here (probably?): https://github.com/rust-lang/rust/blob/master/src/libstd/sys/unix/fs.rs#L322
Another important point is that we are just providing the fields that are available in "all" platforms (this is, without using any platform specific traits or so). This can be improved later.
References:
[1] Man page: http://man7.org/linux/man-pages/man2/statx.2.html
[2] libc `statx` struct: https://docs.rs/libc/0.2.63/libc/struct.statx.html
Edit: The problem is that my filesystem is not providing it and I thought all filesystems could provide it. I changed the code so it only provides those dates if they are available. now we are ready to go.
r? @RalfJung @oli-obk
2019-12-22 17:01:53 +00:00
Christian Poveda
b0c7625dd1
add statx
shim for linux
2019-12-22 11:46:02 -05:00
Oliver Scherer
d9859c83fc
Rustup to rustc 1.42.0-nightly ( 9ff30a781
2019-12-21)
2019-12-21 11:45:09 +01:00
Ralf Jung
74ef63ff0a
the never type got de-stabilized again; adjust tests
2019-12-15 12:23:43 +01:00
Ralf Jung
f0d43872ad
add test for sketchy vtable
2019-12-13 13:19:48 +01:00
Ralf Jung
b0a205ce6f
add caller_location tests to Miri
2019-12-08 11:06:35 +01:00
bors
ab39e09b82
Auto merge of #1107 - RalfJung:rustup, r=RalfJung
...
bump Rust, fix error messages
2019-12-08 00:46:35 +00:00
Ralf Jung
cefc592273
bump Rust, fix error messages
2019-12-08 01:45:41 +01:00
Ralf Jung
e92d16d9cd
add flag to ignore memory leaks
2019-12-07 13:44:48 +01:00
Ralf Jung
6d8e87111b
bump Rust for exact_div fix
2019-12-03 17:37:42 +01:00
Ralf Jung
ce7b44b048
ignore another panicking test on Windows
2019-12-02 16:48:18 +01:00
Ralf Jung
ae53b1222a
fix and expand panic tests
2019-12-02 16:04:31 +01:00
Ralf Jung
4cf83433b1
test built-in panic catching
2019-12-02 16:04:31 +01:00
Ralf Jung
9f9e547d79
test diverging closure fn ptr coercion
2019-12-02 15:42:33 +01:00
Ralf Jung
bba9359256
expand coerce fn test
2019-12-02 15:42:33 +01:00
Ralf Jung
dcdd68b936
also indicate abort via new MachineStop variant
2019-12-02 09:13:58 +01:00
Ralf Jung
1c420b0b55
improve style in catch_panic test
2019-12-02 09:11:33 +01:00
Ralf Jung
f7efe238f3
fix catch_panic.stderr
2019-12-01 11:04:51 +01:00
Ralf Jung
2789e72e18
test more panics
2019-12-01 11:04:32 +01:00
Ralf Jung
2152258b04
and another reference
2019-11-25 15:10:39 +01:00
Ralf Jung
66dc939787
rename some more tests
2019-11-25 15:08:47 +01:00
Ralf Jung
d16e12b0a4
rename test and add some references
2019-11-25 15:08:24 +01:00
Ralf Jung
51d47e8dc5
test closure-to-fn-ptr coercions a bit more
2019-11-25 15:01:05 +01:00
Ralf Jung
35e1fe1665
also test non-string panic payload
2019-11-24 10:51:48 +01:00
Ralf Jung
ee411c2a74
beef up catch_panic test
2019-11-24 10:24:41 +01:00
Ralf Jung
6941caf1df
typo
2019-11-22 18:12:10 +01:00
bors
644e2a76a8
Auto merge of #1067 - Aaron1011:feature/inverse-trig, r=RalfJung
...
Add acos, asin, and atan foreign functions
I copied the tests from the docs pages
2019-11-22 09:23:24 +00:00
Ralf Jung
6888555ca9
rustup for never stabilization
2019-11-22 09:50:22 +01:00
Aaron Hill
a328683c4a
Add acos, asin, and atan foreign functions
...
I copied the tests from the docs pages
2019-11-21 17:33:30 -05:00
Ralf Jung
f16f891191
slice matching overflow got fixed
2019-11-20 19:38:41 +01:00
Ralf Jung
5cef4666e6
rename panic=abort tests to panic_abort
2019-11-19 22:44:07 +01:00
Aaron Hill
80f9484c86
Disable panic tests on Windows
...
Miri currently does not support `GetProcAddress`
and `GetModuleHandleW`, both of which end up getting invoked by the
libstd panic hook.
2019-11-17 13:49:31 -05:00
Aaron Hill
b06d99b8a0
Ignore '-C panic=abort' tests for now
...
We are currently building `libpanic_abort` with the wrong panic
strategy, due to Xargo missing a hack used by `bootstrap`.
2019-11-17 08:40:34 -05:00
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