* Initial checkin.
* Update to rust-lang libc.
* Add a .gitignore file.
* Factor out functions for cleaning up files and directories.
* Fix a typo in a comment.
* Print a "Success!" message if all tests passed.
* Factor out code for creating directories.
* Add wrappers around WASI functions.
These wrappers handle converting from &str to pointer+length and handle
unsafe.
* More refactoring.
* Refactor a fd_close helper.
* Move utility functions into a separate file.
* cargo update
* Add a basic test for random_get.
* Test that directories aren't resizable.
* Test clearing __WASI_RIGHT_PATH_FILESTAT_SET_SIZE.
Ensure that clearing __WASI_RIGHT_PATH_FILESTAT_SET_SIZE succeeds before
testing file truncation.
* cargo update
* Modularise tests for easier use with wasi-common crate
* Add a Code of Conduct and CONTRIBUTING.md.
* Fix typo
* Add testcase for fd_allocate
* Add positive test for fd_renumber
* Assert bufused in readlink_no_buffer testcase
* Add positive readlink testcase
* Add testcase for fd_seek and fd_tell
* Add fd_p{read, write} test
* Add README
* Add cases with trailing slashes to interesting_paths
* Split nofollow_errors testcase into two
* nofollow_errors now operators on symlinks to existing resources
* dangling_symlink covers danling symlinks tests
* Factor out a `create_file` helper function.
* Switch from the error crate to `std::io::Error::last_os_error()`.
* Use `create_file` in the readlink test too.
* Add a test for fd_filestat_set_*
* Minor refactoring
Add missing cleanup_file calls to file_pread_pwrite and
file_seek_tell.
* Add testcase for unbuffered fd_write; fixes #11
* Add testcase for path_rename
* Use the wasi crate.
Switch from depending on libc to depending on the new wasi crate to provide
the low-level WASI interfaces.
See also https://github.com/rust-lang/libc/pull/1461.
* Add a test for path_filestat_*
* Add a test for fd_readdir
* Use expect instead of unwrap
* Add a check for ino.
* Fix the build
* Don't assume a specific order of dirents
* Better test
* Test cookie value
* Fix file types
* Fix the test
* Fix the test
* Fix the test
* Cleanup
* Minor formatting tidying in README.md.
* Fix miscellaneous clippy warnings.
* Rename the crate to wasi-misc-tests.
* Update to wasi 0.7.0.
This switches from using the libc wasi bindings to using the wasi
crate's bindings. This eliminates a git dependency on libc, updates
to the new-style bindings which use Result where possible, and treats
functions that operate on raw file descriptors as unsafe.
* Add various tests for trailing-slash behavior.
* Sync new testcases with latest upstream
* Fix path_filestat testcase
* Add smoke test for fd_advise
This test is a true smoke test as it only tests whether issuing
an advise call to the host's kernel doesn't yield an error. The
consequence of issuing such a syscall is not tested.
* Check if CLOCK_MONOTONIC is actually monotonic
* Refactor the inequality assertions for more debuggable errors.
* Bump libc from 0.2.62 to 0.2.65
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.62 to 0.2.65.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.62...0.2.65)
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
* Fix compilation error
* Enable Actions and add rust.yml (#35)
* Enable Actions and add rust.yml
This commit enables Github Actions and adds corresponding configuration in rust.yml file.
* Update rust.yml
* Fix formatting
* Add empty .rustfmt.toml config file
* Add badge to README
* Update README
* Clean up Github Actions and README
* Add test case for `poll_oneoff` syscall (#38)
* Add test case for `poll_oneoff` syscall
This commit adds a test case for `poll_oneoff` syscall. In particular,
it builds on the excellent test use case provided by @dunnock in their
repo [poll_oneoff_tests] (thanks!), and tests:
* simple timeout
* stdin read with timeout
* fd read and fd write polls
[poll_oneoff_tests]: https://github.com/dunnock/poll_oneoff_tests
* Apply suggestions and negative test for bad fd
Co-authored-by: Maxim Vorobjov <maxim.vorobjov@gmail.com>
* Add smoke test for STDOUT/ERR readwrite poll
* Add comment on stdin/out/err
* Add a test for `*at`-style functions returning `ENOTDIR` when `dirfd` is not a dir.
* Remove misc_testsuite submodule
* Add "publish=false" to Cargo.toml; remove LICENSE
63 lines
1.8 KiB
TOML
63 lines
1.8 KiB
TOML
[package]
|
|
name = "wasi-common"
|
|
version = "0.5.0"
|
|
authors = ["The Wasmtime Project Developers"]
|
|
edition = "2018"
|
|
license = "Apache-2.0 WITH LLVM-exception"
|
|
description = "WASI implementation in Rust"
|
|
categories = ["wasm"]
|
|
keywords = ["webassembly", "wasm"]
|
|
repository = "https://github.com/CraneStation/wasi-common"
|
|
readme = "README.md"
|
|
|
|
[features]
|
|
# this feature requires wasm32-wasi target installed, and it enables wasm32
|
|
# integration tests when run with `cargo test --features wasm_tests`
|
|
wasm_tests = []
|
|
|
|
[dependencies]
|
|
wasi-common-cbindgen = { path = "wasi-common-cbindgen", version = "0.5.0" }
|
|
failure = "0.1"
|
|
libc = "0.2"
|
|
rand = "0.7"
|
|
cfg-if = "0.1.9"
|
|
log = "0.4"
|
|
filetime = "0.2.7"
|
|
lazy_static = "1.4.0"
|
|
num = { version = "0.2.0", default-features = false }
|
|
wig = { path = "wig", version = "0.1.0" }
|
|
|
|
[target.'cfg(unix)'.dependencies]
|
|
nix = "0.15"
|
|
|
|
[target.'cfg(windows)'.dependencies]
|
|
winx = { path = "winx", version = "0.5.0" }
|
|
winapi = "0.3"
|
|
cpu-time = "1.0"
|
|
|
|
|
|
[dev-dependencies]
|
|
wasmtime-runtime = { git = "https://github.com/CraneStation/wasmtime", rev = "ab3cd94" }
|
|
wasmtime-environ = { git = "https://github.com/CraneStation/wasmtime", rev = "ab3cd94" }
|
|
wasmtime-jit = { git = "https://github.com/CraneStation/wasmtime", rev = "ab3cd94" }
|
|
wasmtime-wasi = { git = "https://github.com/CraneStation/wasmtime", rev = "ab3cd94" }
|
|
wasmtime-api = { git = "https://github.com/CraneStation/wasmtime", rev = "ab3cd94" }
|
|
cranelift-codegen = "0.49"
|
|
target-lexicon = "0.8.1"
|
|
pretty_env_logger = "0.3.0"
|
|
tempfile = "3.1.0"
|
|
|
|
[patch."https://github.com/CraneStation/wasi-common"]
|
|
wasi-common = { path = "." }
|
|
|
|
[build-dependencies]
|
|
cfg-if = "0.1.9"
|
|
|
|
[lib]
|
|
name = "wasi_common"
|
|
crate-type = ["rlib", "staticlib", "cdylib"]
|
|
|
|
[workspace]
|
|
members = ["wasi-common-cbindgen"]
|
|
exclude = ["wasi-misc-tests", "wig", "winx", "WASI/tools/witx"]
|