use std::env::args;
use std::process::{exit, ExitCode};
use continuous::testing::Encore;
fn check(x: &Option<String>)
{
if x.is_none() {
println!("{}", "again <directory> <os> <memory_size> <cpus> <commands>");
exit(1);
}
}
fn main() -> ExitCode {
let directory_binding = args().nth(1);
let mut vm = Encore::new();
check(&directory_binding);
let directory = match directory_binding {
Some(ref v) => v,
None => exit(1),
};
vm.set_directory(directory.as_str());
let os_binding = args().nth(2);
check(&os_binding);
let os = match os_binding {
Some(ref v) => v,
None => exit(1),
};
vm.set_os(os.as_str());
let memory_binding = args().nth(3);
check(&memory_binding);
let memory = match memory_binding {
Some(ref v) => v,
None => exit(1),
};
vm.set_memory(memory.as_str());
let cpus_binding = args().nth(4);
check(&cpus_binding);
let cpus = match cpus_binding {
Some(ref v) => v,
None => exit(1),
};
vm.set_cpus(cpus.as_str());
let command_binding = args().nth(5);
check(&command_binding);
let command = match command_binding {
Some(ref v) => v,
None => exit(1),
};
vm.set_command(command.as_str());
if vm.run().is_ok() {
exit(0);
}
exit(1);
}