Commit Graph

113 Commits

Author SHA1 Message Date
Dan Gohman
d1fce1e836 Modify the poll_oneoff_files test tolerate OS differences. (#3346)
Modify the `poll_oneoff_files` test to avoid assuming that `poll_oneoff`
returns all pending events, as it may sometimes return only a subset of
events. When multiple events are expected, use a loop, and loop until
all events have been recorded.
2021-09-13 14:59:50 -05:00
Dan Gohman
256e942aa0 Tidy up redundant use declarations. (#3333)
This is just a minor code cleanup.
2021-09-11 12:26:54 -05:00
Dan Gohman
6a5a295019 Port wasi-common from unsafe-io to io-lifetimes (#3049)
* Port wasi-common to io-lifetimes.

This ports wasi-common from unsafe-io to io-lifetimes.

Ambient authority is now indicated via calls to `ambient_authority()`
from the ambient-authority crate, rather than using `unsafe` blocks.

The `GetSetFdFlags::set_fd_flags` function is now split into two phases,
to simplify lifetimes in implementations which need to close and re-open
the underlying file.

* Use posish for errno values instead of libc.

This eliminates one of the few remaining direct libc dependencies.

* Port to posish::io::poll.

Use posish::io::poll instead of calling libc directly. This factors out
more code from Wasmtime, and eliminates the need to manipulate raw file
descriptors directly.

And, this eliminates the last remaining direct dependency on libc in
wasi-common.

* Port wasi-c-api to io-lifetimes.

* Update to posish 0.16.0.

* Embeded NULs in filenames now get `EINVAL` instead of `EILSEQ`.

* Accept either `EILSEQ` or `EINVAL` for embedded NULs.

* Bump the nightly toolchain to 2021-07-12.

This fixes build errors on the semver crate, which as of this writing
builds with latest nightly and stable but not 2021-04-11, the old pinned
version.

* Have cap-std-sync re-export ambient_authority so that users get the same version.
2021-07-14 15:39:09 -07:00
Ulrich Weigand
c881c01cde Increase timeout for poll_oneoff tests
This increases the timeout from 50ms to 200ms, which makes the
tests reliably pass on my machine using the CI scripts againt
the s390x-linux-user qemu target.
2021-06-23 20:04:31 +02:00
Pat Hickey
c81dbe498f try upping 20ms to 50ms timeouts... 2021-05-11 17:12:48 -07:00
Pat Hickey
7ec93cb977 poll_oneoff_stdio test: increase timeout to 20ms 2021-05-11 09:22:12 -07:00
Pat Hickey
74e9b385df lets try 10ms, macos ci timed out with 5ms 2021-05-07 16:07:15 -07:00
Pat Hickey
b450094dad debug 2021-05-07 15:19:17 -07:00
Pat Hickey
ee8a8a2a90 poll_oneoff_stdio test: loosen up contract
permit both readable events to be delivered in very short interval,
rather than simultaneously.
2021-05-07 14:27:23 -07:00
Pat Hickey
9e04c5333c poll oneoff tests: what if we read a non-empty file? 2021-05-05 13:08:33 -07:00
Pat Hickey
3e8ea090c6 ci debugging 2021-05-05 11:24:27 -07:00
Pat Hickey
b7efcbe80f jump through enough hoops for the poll lifetime to work out
you program rust for a few years and you think you're done tearing your
hair out over lifetimes, well, you'll find yourself wrong
2021-04-29 16:50:22 -07:00
Pat Hickey
02581ddda0 poll_oneoff test: don't try to poll same fd for read and write 2021-04-27 17:41:07 -07:00
Dan Gohman
dd7e16762c Arrange for the new test to be called. 2021-03-22 12:50:16 -07:00
Dan Gohman
6b40724d18 Support "sleep" forms of poll_oneoff.
Add support for `poll_oneoff` calls which just sleep on a relative
timeout. This fixes a bug handling code compiled with WASI libc's `sleep`
family of functions, which call `poll_oneoff` with a `CLOCK_REALTIME`
timer, which wasn't previously implemented.
2021-03-22 12:50:16 -07:00
Dan Gohman
2d3f2adf04 Fix nondeterministic failures in poll_oneoff_stdio.
Adjust this test so that it tolerates poll_oneoff returning that both a
timeout occurred and an input is ready for reading, at the same time.
2021-03-15 11:48:19 -07:00
Pat Hickey
9abae356e0 fix! 2021-02-10 16:54:14 -08:00
Pat Hickey
bc95864202 wasi-tests: add path_exists test
this *should* reproduce the report at
https://github.com/bytecodealliance/wasmtime/issues/2642 but it does
not, so the problem has something to do with invoking via wasmtime cli?
2021-02-10 16:54:14 -08:00
Pat Hickey
7a35763d62 collapse two test flags into dangling_filesystem 2021-02-03 14:54:42 -08:00
Pat Hickey
cd02e5a942 path_rename: make more concessions for windows. this shit sucks but oh well 2021-02-02 15:30:02 -08:00
Pat Hickey
80fce7c1c8 unlink behavior on macos... 2021-02-01 19:22:10 -08:00
Pat Hickey
c77a11bd5c tests: macos-specific behavior 2021-02-01 18:30:58 -08:00
Pat Hickey
bb3e391a27 accept fdread event as valid behavior of stdin poll 2021-02-01 15:26:06 -08:00
Pat Hickey
40e541bfc3 test suite: cap-std-sync test environment does not support fdflags sync 2021-02-01 14:25:42 -08:00
Pat Hickey
5ee093e774 Merge remote-tracking branch 'origin/main' into pch/wasi_common_cap_std 2021-02-01 13:21:25 -08:00
Peter Huene
0502cadc62 Stop allowing bufused > BUF_LEN in fd_readdir program.
This commit removes what appears to be a workaround to the bug being fixed by
the change in #2620.
2021-02-01 11:41:29 -08:00
Pat Hickey
bad169dde3 port https://github.com/bytecodealliance/wasmtime/pull/2620 into rewrite 2021-02-01 11:10:26 -08:00
Pat Hickey
1d057af64d notes 2021-01-28 13:20:52 -08:00
Pat Hickey
201a888d92 dirty fuckin' dangles boys
fuck you shorsey
2021-01-28 13:02:48 -08:00
Pat Hickey
11b8222033 missed a dangling symlink 2021-01-28 12:59:44 -08:00
Pat Hickey
34ad8df169 dangling directories are a windows thing 2021-01-28 12:58:41 -08:00
Pat Hickey
4801ea04a1 cool 2021-01-28 12:36:50 -08:00
Pat Hickey
0cedc17246 another one bites the dust 2021-01-28 12:35:13 -08:00
Pat Hickey
79e8f17486 bum bum bum 2021-01-28 12:30:37 -08:00
Pat Hickey
dae022b17f woo 2021-01-28 12:29:30 -08:00
Pat Hickey
1196e216e9 fix macro by denying trailing slashes. also other stuff 2021-01-28 12:23:48 -08:00
Pat Hickey
20e9169cc7 fd_allocate: put meat of test behind a guard 2021-01-28 11:43:42 -08:00
Pat Hickey
f7403acb6f fd_advise test: set size via fd_filestat_set_size and fd_allocate 2021-01-28 11:42:30 -08:00
Pat Hickey
e758318fee wire env variables through test runner to TESTCONFIG 2021-01-28 11:34:18 -08:00
Pat Hickey
7ffe3c72c5 config is lazy_static to amoritze it 2021-01-28 11:20:02 -08:00
Pat Hickey
6f85abd949 itsp ublished 2021-01-28 09:44:17 -08:00
Pat Hickey
03466d04ce temporarily use my branch of the wasi crate 2021-01-27 19:05:52 -08:00
Pat Hickey
be108c7a93 will this work for platform-specific errnos? WIP 2021-01-27 18:18:12 -08:00
Pat Hickey
2ae1dee642 convert all errno assertions to assert_errno! 2021-01-27 18:10:38 -08:00
Pat Hickey
4f655001c0 make a macro that automates errno assertions 2021-01-27 18:10:34 -08:00
Pat Hickey
4f2696fedf more docs 2021-01-27 16:16:10 -08:00
Pat Hickey
cb171712cc various windows test notes 2021-01-27 15:32:23 -08:00
Pat Hickey
d1160cb9b5 split path rename trailing slash test into files and dirs
files fail on both platform, dirs pass on both! so, same bug!
2021-01-27 14:55:39 -08:00
Pat Hickey
b2e0597ae3 narrow the bug 2021-01-27 12:27:13 -08:00
Pat Hickey
6fcbd3f15d split path_filestat test into two, improve variable names 2021-01-27 12:18:27 -08:00