Run rustfmt
This commit is contained in:
@@ -22,12 +22,9 @@ pub fn define_datatype(names: &Names, namedtype: &witx::NamedType) -> TokenStrea
|
|||||||
witx::Type::Union(u) => union::define_union(names, &namedtype.name, &u),
|
witx::Type::Union(u) => union::define_union(names, &namedtype.name, &u),
|
||||||
witx::Type::Handle(h) => handle::define_handle(names, &namedtype.name, &h),
|
witx::Type::Handle(h) => handle::define_handle(names, &namedtype.name, &h),
|
||||||
witx::Type::Builtin(b) => define_builtin(names, &namedtype.name, *b),
|
witx::Type::Builtin(b) => define_builtin(names, &namedtype.name, *b),
|
||||||
witx::Type::Pointer(p) => define_witx_pointer(
|
witx::Type::Pointer(p) => {
|
||||||
names,
|
define_witx_pointer(names, &namedtype.name, quote!(wiggle_runtime::GuestPtr), p)
|
||||||
&namedtype.name,
|
}
|
||||||
quote!(wiggle_runtime::GuestPtr),
|
|
||||||
p,
|
|
||||||
),
|
|
||||||
witx::Type::ConstPointer(p) => {
|
witx::Type::ConstPointer(p) => {
|
||||||
define_witx_pointer(names, &namedtype.name, quote!(wiggle_runtime::GuestPtr), p)
|
define_witx_pointer(names, &namedtype.name, quote!(wiggle_runtime::GuestPtr), p)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
use std::cell::Cell;
|
use std::cell::Cell;
|
||||||
|
use std::fmt;
|
||||||
|
use std::marker;
|
||||||
use std::slice;
|
use std::slice;
|
||||||
use std::str;
|
use std::str;
|
||||||
use std::marker;
|
|
||||||
use std::fmt;
|
|
||||||
|
|
||||||
mod error;
|
mod error;
|
||||||
mod guest_type;
|
mod guest_type;
|
||||||
@@ -110,9 +110,11 @@ impl<'a, T: ?Sized + Pointee> GuestPtr<'a, T> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn add(&self, amt: u32) -> Result<GuestPtr<'a, T>, GuestError>
|
pub fn add(&self, amt: u32) -> Result<GuestPtr<'a, T>, GuestError>
|
||||||
where T: GuestType<'a> + Pointee<Pointer = u32>,
|
where
|
||||||
|
T: GuestType<'a> + Pointee<Pointer = u32>,
|
||||||
{
|
{
|
||||||
let offset = amt.checked_mul(T::guest_size())
|
let offset = amt
|
||||||
|
.checked_mul(T::guest_size())
|
||||||
.and_then(|o| self.pointer.checked_add(o));
|
.and_then(|o| self.pointer.checked_add(o));
|
||||||
let offset = match offset {
|
let offset = match offset {
|
||||||
Some(o) => o,
|
Some(o) => o,
|
||||||
@@ -131,7 +133,9 @@ impl<'a, T> GuestPtr<'a, [T]> {
|
|||||||
self.pointer.1
|
self.pointer.1
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn iter<'b>(&'b self) -> impl ExactSizeIterator<Item = Result<GuestPtr<'a, T>, GuestError>> + 'b
|
pub fn iter<'b>(
|
||||||
|
&'b self,
|
||||||
|
) -> impl ExactSizeIterator<Item = Result<GuestPtr<'a, T>, GuestError>> + 'b
|
||||||
where
|
where
|
||||||
T: GuestType<'a>,
|
T: GuestType<'a>,
|
||||||
{
|
{
|
||||||
@@ -154,14 +158,16 @@ impl<'a> GuestPtr<'a, str> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn as_raw(&self) -> Result<*mut str, GuestError> {
|
pub fn as_raw(&self) -> Result<*mut str, GuestError> {
|
||||||
let ptr = self.mem.validate_size_align(self.pointer.0, 1, self.pointer.1)?;
|
let ptr = self
|
||||||
|
.mem
|
||||||
|
.validate_size_align(self.pointer.0, 1, self.pointer.1)?;
|
||||||
|
|
||||||
// TODO: doc unsafety here
|
// TODO: doc unsafety here
|
||||||
unsafe {
|
unsafe {
|
||||||
let s = slice::from_raw_parts_mut(ptr, self.pointer.1 as usize);
|
let s = slice::from_raw_parts_mut(ptr, self.pointer.1 as usize);
|
||||||
match str::from_utf8_mut(s) {
|
match str::from_utf8_mut(s) {
|
||||||
Ok(s) => Ok(s),
|
Ok(s) => Ok(s),
|
||||||
Err(e) => Err(GuestError::InvalidUtf8(e))
|
Err(e) => Err(GuestError::InvalidUtf8(e)),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,9 @@ pub struct HostMemory {
|
|||||||
}
|
}
|
||||||
impl HostMemory {
|
impl HostMemory {
|
||||||
pub fn new() -> Self {
|
pub fn new() -> Self {
|
||||||
HostMemory { buffer: UnsafeCell::new([0; 4096]) }
|
HostMemory {
|
||||||
|
buffer: UnsafeCell::new([0; 4096]),
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn mem_area_strat(align: u32) -> BoxedStrategy<MemArea> {
|
pub fn mem_area_strat(align: u32) -> BoxedStrategy<MemArea> {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
use proptest::prelude::*;
|
use proptest::prelude::*;
|
||||||
use wiggle_runtime::{GuestError, GuestType, GuestMemory};
|
use wiggle_runtime::{GuestError, GuestMemory, GuestType};
|
||||||
use wiggle_test::{impl_errno, HostMemory, MemArea, WasiCtx};
|
use wiggle_test::{impl_errno, HostMemory, MemArea, WasiCtx};
|
||||||
|
|
||||||
const FD_VAL: u32 = 123;
|
const FD_VAL: u32 = 123;
|
||||||
|
|||||||
@@ -402,9 +402,11 @@ impl ReturnPairPtrsExercise {
|
|||||||
|
|
||||||
assert_eq!(res, types::Errno::Ok.into(), "return pair of ptrs errno");
|
assert_eq!(res, types::Errno::Ok.into(), "return pair of ptrs errno");
|
||||||
|
|
||||||
let ptr_pair_int_ptrs: types::PairIntPtrs<'_> =
|
let ptr_pair_int_ptrs: types::PairIntPtrs<'_> = host_memory
|
||||||
host_memory.ptr(self.return_loc.ptr).read().expect("failed to read return location");
|
.ptr(self.return_loc.ptr)
|
||||||
let ret_first_ptr = ptr_pair_int_ptrs.first;
|
.read()
|
||||||
|
.expect("failed to read return location");
|
||||||
|
let ret_first_ptr = ptr_pair_int_ptrs.first;
|
||||||
let ret_second_ptr = ptr_pair_int_ptrs.second;
|
let ret_second_ptr = ptr_pair_int_ptrs.second;
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
self.input_first,
|
self.input_first,
|
||||||
|
|||||||
@@ -23,11 +23,7 @@ impl GuestErrorType for types::Errno {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl crate::wasi_snapshot_preview1::WasiSnapshotPreview1 for WasiCtx {
|
impl crate::wasi_snapshot_preview1::WasiSnapshotPreview1 for WasiCtx {
|
||||||
fn args_get(
|
fn args_get(&self, _argv: GuestPtr<GuestPtr<u8>>, _argv_buf: GuestPtr<u8>) -> Result<()> {
|
||||||
&self,
|
|
||||||
_argv: GuestPtr<GuestPtr<u8>>,
|
|
||||||
_argv_buf: GuestPtr<u8>,
|
|
||||||
) -> Result<()> {
|
|
||||||
unimplemented!("args_get")
|
unimplemented!("args_get")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user