2024-03-14 09:17:49 +00:00
|
|
|
// SPDX-License-Identifier: MPL-2.0
|
|
|
|
|
|
|
|
|
|
use std::{fs, path::PathBuf};
|
|
|
|
|
|
2024-06-21 05:51:13 +00:00
|
|
|
use crate::util::{cargo_osdk, depends_on_local_ostd};
|
2024-03-14 09:17:49 +00:00
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
|
fn create_a_kernel_project() {
|
|
|
|
|
let workdir = "/tmp";
|
|
|
|
|
let kernel = "my_foo_os";
|
|
|
|
|
|
|
|
|
|
let kernel_path = PathBuf::from(workdir).join(kernel);
|
|
|
|
|
|
|
|
|
|
if kernel_path.exists() {
|
|
|
|
|
fs::remove_dir_all(&kernel_path).unwrap();
|
|
|
|
|
}
|
|
|
|
|
|
2024-03-25 15:01:12 +00:00
|
|
|
cargo_osdk(&["new", "--kernel", kernel])
|
2024-03-14 09:17:49 +00:00
|
|
|
.current_dir(workdir)
|
|
|
|
|
.unwrap();
|
|
|
|
|
|
|
|
|
|
assert!(kernel_path.is_dir());
|
|
|
|
|
assert!(kernel_path.join("Cargo.toml").is_file());
|
|
|
|
|
assert!(kernel_path.join("rust-toolchain.toml").is_file());
|
|
|
|
|
|
2024-06-21 05:51:13 +00:00
|
|
|
depends_on_local_ostd(kernel_path.join("Cargo.toml"));
|
|
|
|
|
|
2024-03-14 09:17:49 +00:00
|
|
|
fs::remove_dir_all(&kernel_path).unwrap();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
|
fn create_a_library_project() {
|
|
|
|
|
let workdir = "/tmp";
|
|
|
|
|
let module = "my_foo_module";
|
|
|
|
|
|
|
|
|
|
let module_path = PathBuf::from(workdir).join(module);
|
|
|
|
|
if module_path.exists() {
|
|
|
|
|
fs::remove_dir_all(&module_path).unwrap();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
cargo_osdk(&["new", module]).current_dir(workdir).unwrap();
|
|
|
|
|
|
|
|
|
|
assert!(module_path.is_dir());
|
|
|
|
|
assert!(module_path.join("Cargo.toml").is_file());
|
|
|
|
|
assert!(module_path.join("rust-toolchain.toml").is_file());
|
|
|
|
|
|
|
|
|
|
fs::remove_dir_all(&module_path).unwrap();
|
|
|
|
|
}
|