|
|
|
|
@ -62,23 +62,24 @@ fn init_logger() {
|
|
|
|
|
.init();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#[cfg(test)]
|
|
|
|
|
mod tests {
|
|
|
|
|
use super::*;
|
|
|
|
|
// #[cfg(test)]
|
|
|
|
|
// mod tests {
|
|
|
|
|
// use super::*;
|
|
|
|
|
|
|
|
|
|
#[async_std::test]
|
|
|
|
|
async fn userboot() {
|
|
|
|
|
kernel_hal_unix::init();
|
|
|
|
|
// #[async_std::test]
|
|
|
|
|
// async fn userboot() {
|
|
|
|
|
// kernel_hal_unix::init();
|
|
|
|
|
|
|
|
|
|
let opt = Opt {
|
|
|
|
|
prebuilt_path: PathBuf::from("../prebuilt/zircon/x64"),
|
|
|
|
|
cmdline: String::from(""),
|
|
|
|
|
};
|
|
|
|
|
let images = open_images(&opt.prebuilt_path).expect("failed to read file");
|
|
|
|
|
// let opt = Opt {
|
|
|
|
|
// prebuilt_path: PathBuf::from("../prebuilt/zircon/x64"),
|
|
|
|
|
// cmdline: String::from(""),
|
|
|
|
|
// };
|
|
|
|
|
// let images = open_images(&opt.prebuilt_path).expect("failed to read file");
|
|
|
|
|
|
|
|
|
|
let proc: Arc<dyn KernelObject> = run_userboot(&images, &opt.cmdline);
|
|
|
|
|
drop(images);
|
|
|
|
|
// let proc: Arc<dyn KernelObject> = run_userboot(&images, &opt.cmdline);
|
|
|
|
|
// drop(images);
|
|
|
|
|
|
|
|
|
|
proc.wait_signal(Signal::PROCESS_TERMINATED).await;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// let proc = proc.downcast_arc::<Process>().unwrap();
|
|
|
|
|
// proc.wait_for_end().await;
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
|