Compile a hosted program and inject it as pid 1 (no FS image), then assert a clean spawn-and-exit.
(user_src: &str, label: &str)
| 156 | .join(format!("{name}.build")); |
| 157 | let manifest = BuildManifest::from_file(&manifest_path) |
| 158 | .unwrap_or_else(|e| panic!("{}: parse failed: {e}", manifest_path.display())); |
| 159 | let user = BuildExecutor::build(&manifest) |
| 160 | .unwrap_or_else(|e| panic!("{}: build failed: {e}", manifest_path.display())) |
| 161 | .linked; |
| 162 | let (_, outcome, uart) = boot_kernel(cached_kernel(), Some(&user), None, "", 10_000_000); |
| 163 | assert_user_exit_ok(&uart, &outcome, name); |
| 164 | } |
| 165 |