cargo fmt

This commit is contained in:
Felix Schütt
2022-10-07 13:44:08 +02:00
parent a6d9e3e63a
commit 7edfd68759
6 changed files with 75 additions and 63 deletions

View File

@@ -260,7 +260,8 @@ fn parse_cli_args() -> Result<(), anyhow::Error> {
&package.registry,
&package.name,
&package.version,
).map_err(|e| anyhow!("{e}"))?;
)
.map_err(|e| anyhow!("{e}"))?;
// Try finding the local package
let mut args_without_package = args.clone();

View File

@@ -76,13 +76,16 @@ pub struct RunWithoutFile {
impl RunWithoutFile {
/// Given a local path, returns the `Run` command (overriding the `--path` argument).
pub fn into_run_args(mut self, pathbuf: PathBuf, manifest: Option<wapm_toml::Manifest>) -> Run {
#[cfg(feature = "wasi")] {
#[cfg(feature = "wasi")]
{
let pkg_fs = match pathbuf.parent() {
Some(parent) => parent.join("pkg_fs"),
None => pathbuf.join("pkg_fs"),
};
if let Some(mut m) = manifest.as_ref().and_then(|m| m.package.pkg_fs_mount_point.clone()) {
if let Some(mut m) = manifest
.as_ref()
.and_then(|m| m.package.pkg_fs_mount_point.clone())
{
if m == "." {
self.wasi.map_dir("/", pkg_fs);
} else {
@@ -108,7 +111,10 @@ impl RunWithoutFile {
pathbuf.join(real_dir)
};
if !real_dir.exists() {
println!("warning: cannot map {alias:?} to {}: directory does not exist", real_dir.display());
println!(
"warning: cannot map {alias:?} to {}: directory does not exist",
real_dir.display()
);
continue;
}
let alias_pathbuf = std::path::Path::new(&real_dir).to_path_buf();
@@ -123,11 +129,16 @@ impl RunWithoutFile {
}
let root_display = format!("{}", alias_pathbuf.display());
for entry in walkdir::WalkDir::new(&alias_pathbuf).into_iter().filter_entry(|e| is_dir(e)).filter_map(|e| e.ok()) {
for entry in walkdir::WalkDir::new(&alias_pathbuf)
.into_iter()
.filter_entry(|e| is_dir(e))
.filter_map(|e| e.ok())
{
let pathbuf = entry.path().canonicalize().unwrap();
let path = format!("{}", pathbuf.display());
let relativepath = path.replacen(&root_display, "", 1);
self.wasi.map_dir(&format!("/{alias}{relativepath}"), pathbuf);
self.wasi
.map_dir(&format!("/{alias}{relativepath}"), pathbuf);
}
}
}
@@ -279,8 +290,10 @@ impl Run {
let env = FunctionEnv::new(&mut store, em_env);
let mut emscripten_globals = EmscriptenGlobals::new(&mut store, &env, &module)
.map_err(|e| anyhow!("{}", e))?;
env.as_mut(&mut store)
.set_data(&emscripten_globals.data, self.wasi.mapped_dirs.clone().into_iter().collect());
env.as_mut(&mut store).set_data(
&emscripten_globals.data,
self.wasi.mapped_dirs.clone().into_iter().collect(),
);
let import_object =
generate_emscripten_env(&mut store, &env, &mut emscripten_globals);
let mut instance = match Instance::new(&mut store, &module, &import_object) {

View File

@@ -52,10 +52,10 @@ pub struct Wasi {
#[allow(dead_code)]
impl Wasi {
pub fn map_dir(&mut self, alias: &str, target_on_disk: PathBuf) {
self.mapped_dirs.push((alias.to_string(), target_on_disk));
self.pre_opened_directories.push(std::path::Path::new(alias).to_path_buf());
self.pre_opened_directories
.push(std::path::Path::new(alias).to_path_buf());
}
pub fn set_env(&mut self, key: &str, value: &str) {

View File

@@ -1,7 +1,5 @@
/// NOTE: These syscalls only support wasm_32 for now because they take u32 offset
use libc::{
c_int, getgrnam as libc_getgrnam, getpwnam as libc_getpwnam, sysconf,
};
use libc::{c_int, getgrnam as libc_getgrnam, getpwnam as libc_getpwnam, sysconf};
use std::ffi::{CStr, CString};
use std::mem;
use std::os::raw::c_char;
@@ -84,7 +82,9 @@ pub fn _unsetenv(mut ctx: FunctionEnvMut<EmEnv>, name: c_int) -> c_int {
let em_env = ctx.data();
let memory = em_env.memory(0);
let name_addr = emscripten_memory_pointer!(memory.view(&ctx), name) as *const c_char;
unsafe { CStr::from_ptr(name_addr) }.to_string_lossy().to_string()
unsafe { CStr::from_ptr(name_addr) }
.to_string_lossy()
.to_string()
};
debug!("=> name({:?})", name);

View File

@@ -87,9 +87,8 @@ impl Default for EmscriptenState {
fn default() -> Self {
Self {
env_vars: std::env::vars_os()
.filter_map(|(k, v)| {
Some((k.to_str()?.to_string(), v.to_str()?.to_string()))
}).collect(),
.filter_map(|(k, v)| Some((k.to_str()?.to_string(), v.to_str()?.to_string())))
.collect(),
cli_args: Vec::new(),
}
}
@@ -155,10 +154,7 @@ impl EmEnv {
*w = Some(EmscriptenData::new(data.clone(), mapped_dirs));
}
pub fn get_env_var(
&self,
key: &str,
) -> Option<String> {
pub fn get_env_var(&self, key: &str) -> Option<String> {
let w = self.state.lock().ok()?;
let result = w.env_vars.get(key).cloned();
result
@@ -169,19 +165,12 @@ impl EmEnv {
w.env_vars.len()
}
pub fn set_env_var(
&self,
key: &str,
value: &str,
) -> Option<String> {
pub fn set_env_var(&self, key: &str, value: &str) -> Option<String> {
let mut w = self.state.lock().ok()?;
w.env_vars.insert(key.to_string(), value.to_string())
}
pub fn remove_env_var(
&self,
key: &str,
) -> Option<String> {
pub fn remove_env_var(&self, key: &str) -> Option<String> {
let mut w = self.state.lock().ok()?;
w.env_vars.remove(key)
}

View File

@@ -477,7 +477,6 @@ pub fn get_all_local_packages() -> Vec<LocalPackage> {
let mut packages = Vec::new();
'outer: for registry in get_all_available_registries().unwrap_or_default() {
let host = match url::Url::parse(&registry) {
Ok(o) => o.host_str().map(|s| s.to_string()),
Err(_) => continue 'outer,
@@ -588,15 +587,18 @@ pub enum QueryPackageError {
name: String,
version: Option<String>,
packages: Vec<PackageDownloadInfo>,
}
},
}
impl QueryPackageError {
pub fn get_packages(&self) -> Vec<PackageDownloadInfo> {
match self {
QueryPackageError::AmbigouusName { name: _, packages } |
QueryPackageError::NoPackageFound { name: _, version: _, packages }
=> packages.clone(),
QueryPackageError::AmbigouusName { name: _, packages }
| QueryPackageError::NoPackageFound {
name: _,
version: _,
packages,
} => packages.clone(),
_ => Vec::new(),
}
}
@@ -622,8 +624,10 @@ pub fn query_package_from_registry(
})
};
let response: get_packages_query::ResponseData = execute_query(registry_url, "", &q)
.map_err(|e| QueryPackageError::ErrorSendingQuery(format!("Error sending GetPackagesQuery:  {e}")))?;
let response: get_packages_query::ResponseData =
execute_query(registry_url, "", &q).map_err(|e| {
QueryPackageError::ErrorSendingQuery(format!("Error sending GetPackagesQuery:  {e}"))
})?;
let available_packages = response
.package
@@ -695,7 +699,7 @@ pub fn query_package_from_registry(
version: version.as_ref().map(|s| s.to_string()),
packages: available_packages,
});
},
}
Some(s) => Ok(s),
}
}
@@ -752,7 +756,10 @@ pub fn download_and_unpack_targz(url: &str, target_path: &Path) -> Result<PathBu
Ok(target_path.to_path_buf())
}
pub fn install_package(name: &str, version: Option<&str>) -> Result<(LocalPackage, PathBuf), String> {
pub fn install_package(
name: &str,
version: Option<&str>,
) -> Result<(LocalPackage, PathBuf), String> {
let registries = get_all_available_registries()?;
let mut url_of_package = None;
let mut error_packages = Vec::new();
@@ -784,7 +791,8 @@ pub fn install_package(name: &str, version: Option<&str>) -> Result<(LocalPackag
.filter_map(|s| Some(format!("{}", s.host_str()?)))
.collect::<Vec<_>>();
let mut error_str = format!("Package {version_str} not found in registries {registries_searched:?}.");
let mut error_str =
format!("Package {version_str} not found in registries {registries_searched:?}.");
let mut did_you_mean = error_packages
.iter()
.flat_map(|error| {
@@ -809,8 +817,7 @@ pub fn install_package(name: &str, version: Option<&str>) -> Result<(LocalPackag
format!("\r\n\r\nDid you mean:\r\n{}\r\n", did_you_mean.join("\r\n"))
};
let (_, package_info) = url_of_package
.ok_or(format!("{error_str}{did_you_mean}"))?;
let (_, package_info) = url_of_package.ok_or(format!("{error_str}{did_you_mean}"))?;
let host = url::Url::parse(&package_info.registry)
.map_err(|e| format!("invalid url: {}: {e}", package_info.registry))?
@@ -818,8 +825,7 @@ pub fn install_package(name: &str, version: Option<&str>) -> Result<(LocalPackag
.ok_or(format!("invalid url: {}", package_info.registry))?
.to_string();
let dir = get_package_local_dir(
&host, &package_info.package, &package_info.version)?;
let dir = get_package_local_dir(&host, &package_info.package, &package_info.version)?;
let version = package_info.version;
let name = package_info.package;
@@ -854,13 +860,16 @@ pub fn install_package(name: &str, version: Option<&str>) -> Result<(LocalPackag
"Cannot run {name}@{version}: module {module_name} not found in wapm.toml"
))?;
Ok((LocalPackage {
Ok((
LocalPackage {
registry: package_info.registry.clone(),
name: wapm_toml.package.name.clone(),
version: wapm_toml.package.version.to_string(),
manifest: wapm_toml,
path: target_path.clone(),
}, target_path.join(&entrypoint_module.source)))
},
target_path.join(&entrypoint_module.source),
))
}
pub fn test_if_registry_present(registry: &str) -> Result<bool, String> {