1
0
Fork 0
mirror of https://github.com/containers/youki synced 2024-06-10 00:36:16 +02:00

Clippy & Formatting

This commit is contained in:
Furisto 2021-12-23 21:17:59 +01:00
parent 9c3a4706e8
commit 5951d0ca86
4 changed files with 29 additions and 24 deletions

View File

@ -415,7 +415,7 @@ pub fn container_init_process(
}
if proc.args().is_some() {
Executor::new().exec(spec)
Executor::default().exec(spec)
} else {
bail!("on non-Windows, at least one process arg entry is required")
}

View File

@ -15,9 +15,9 @@ impl ExecHandler for DefaultExecHandler {
.process()
.as_ref()
.and_then(|p| p.args().as_ref())
.unwrap_or_else(|| &EMPTY);
.unwrap_or(&EMPTY);
if args.len() == 0 {
if args.is_empty() {
bail!("at least one process arg must be specified")
}
@ -43,4 +43,3 @@ impl ExecHandler for DefaultExecHandler {
"default"
}
}

View File

@ -1,9 +1,9 @@
use anyhow::{Result, Context};
use anyhow::{Context, Result};
use oci_spec::runtime::Spec;
use self::{default::DefaultExecHandler};
use self::default::DefaultExecHandler;
#[cfg(feature = "wasm-wasmer")]
use self::{wasmer::WasmerExecHandler};
use self::wasmer::WasmerExecHandler;
pub mod default;
#[cfg(feature = "wasm-wasmer")]
@ -24,22 +24,30 @@ pub struct Executor {
}
impl Executor {
pub fn new() -> Self {
let mut handlers: Vec<Box<dyn ExecHandler>> = Vec::new();
#[cfg(feature = "wasm-wasmer")]
handlers.push(Box::new(WasmerExecHandler{}));
handlers.push(Box::new(DefaultExecHandler{}));
Self { handlers }
}
pub fn exec(&self, spec: &Spec) -> Result<()> {
for handler in &self.handlers {
if handler.can_handle(spec).with_context(|| format!("handler {} failed on selection",handler.name() ))? {
handler.exec(spec).with_context(||format!("handler {} failed on exec", handler.name()))?;
if handler
.can_handle(spec)
.with_context(|| format!("handler {} failed on selection", handler.name()))?
{
handler
.exec(spec)
.with_context(|| format!("handler {} failed on exec", handler.name()))?;
}
}
unreachable!("no suitable execution handler has been registered");
}
}
impl Default for Executor {
fn default() -> Self {
let handlers: Vec<Box<dyn ExecHandler>> = vec![
#[cfg(feature = "wasm-wasmer")]
Box::new(WasmerExecHandler {}),
Box::new(DefaultExecHandler {}),
];
Self { handlers }
}
}

View File

@ -12,20 +12,18 @@ impl ExecHandler for WasmerExecHandler {
log::debug!("Executing workload with wasmer handler");
let process = spec.process().as_ref();
let args = process
.and_then(|p| p.args().as_ref())
.unwrap_or_else(|| &EMPTY);
let args = process.and_then(|p| p.args().as_ref()).unwrap_or(&EMPTY);
let env = process
.and_then(|p| p.env().as_ref())
.unwrap_or_else(|| &EMPTY)
.into_iter()
.unwrap_or(&EMPTY)
.iter()
.filter_map(|e| {
e.split_once("=")
.filter(|kv| !kv.0.contains('\u{0}') && !kv.1.contains('\u{0}'))
.map(|kv| (kv.0.trim(), kv.1.trim()))
});
if args.len() == 0 {
if args.is_empty() {
bail!("at least one process arg must be specified")
}