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
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
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
Ralf Jung
74ef63ff0a
the never type got de-stabilized again; adjust tests
2019-12-15 12:23:43 +01:00
Ralf Jung
b0a205ce6f
add caller_location tests to Miri
2019-12-08 11:06:35 +01:00
Ralf Jung
e92d16d9cd
add flag to ignore memory leaks
2019-12-07 13:44:48 +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
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
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
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
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
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
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
f4fb330c67
test offset_from
2019-11-05 20:17:35 +01:00
Ralf Jung
99282efc86
add an interesting run-pass stacked borrows example
2019-11-05 11:05:02 +01:00
Ralf Jung
459aea8f52
test align_to example
2019-10-25 20:26:01 +02:00
Ralf Jung
2690f5948a
rustup: fix for write_bytes and new union rules
2019-10-22 10:13:11 +02: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
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
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
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
Christian Poveda
f4a25e530a
Add env exclusion test
2019-08-28 17:57:41 -05: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
Ralf Jung
be4108e27c
test some new uninit APIs
2019-08-18 11:34:09 +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
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
Ralf Jung
abcd244927
add async fn with partial initialization
2019-08-09 11:01:42 +02:00