Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor(test): refine function create_container #2973

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion tests/contest/contest/src/tests/devices/devices_test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ use oci_spec::runtime::{
use test_framework::{test_result, Test, TestGroup, TestResult};

use crate::utils::test_inside_container;
use crate::utils::test_utils::CreateOptions;

fn create_spec() -> Result<Spec> {
let device1 = LinuxDeviceBuilder::default()
Expand Down Expand Up @@ -59,7 +60,7 @@ fn create_spec() -> Result<Spec> {

fn devices_test() -> TestResult {
let spec = test_result!(create_spec());
test_inside_container(spec, &|_| Ok(()))
test_inside_container(spec, &CreateOptions::default(), &|_| Ok(()))
}

pub fn get_devices_test() -> TestGroup {
Expand Down
3 changes: 2 additions & 1 deletion tests/contest/contest/src/tests/domainname/mod.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
use oci_spec::runtime::{ProcessBuilder, Spec, SpecBuilder};
use test_framework::{ConditionalTest, TestGroup, TestResult};

use crate::utils::test_utils::CreateOptions;
use crate::utils::{is_runtime_runc, test_inside_container};

fn get_spec(domainname: &str) -> Spec {
Expand All @@ -21,7 +22,7 @@ fn get_spec(domainname: &str) -> Spec {

fn set_domainname_test() -> TestResult {
let spec = get_spec("domainname");
test_inside_container(spec, &|_| Ok(()))
test_inside_container(spec, &CreateOptions::default(), &|_| Ok(()))
}

pub fn get_domainname_tests() -> TestGroup {
Expand Down
3 changes: 2 additions & 1 deletion tests/contest/contest/src/tests/example/hello_world.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ use oci_spec::runtime::{ProcessBuilder, Spec, SpecBuilder};
use test_framework::{test_result, Test, TestGroup, TestResult};

use crate::utils::test_inside_container;
use crate::utils::test_utils::CreateOptions;

////////// ANCHOR: get_example_spec
fn create_spec() -> Result<Spec> {
Expand All @@ -25,7 +26,7 @@ fn create_spec() -> Result<Spec> {
////////// ANCHOR: example_test
fn example_test() -> TestResult {
let spec = test_result!(create_spec());
test_inside_container(spec, &|_| Ok(()))
test_inside_container(spec, &CreateOptions::default(), &|_| Ok(()))
}
////////// ANCHOR_END: example_test

Expand Down
7 changes: 5 additions & 2 deletions tests/contest/contest/src/tests/hooks/invoke.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ use anyhow::anyhow;
use oci_spec::runtime::{Hook, HookBuilder, HooksBuilder, ProcessBuilder, Spec, SpecBuilder};
use test_framework::{Test, TestGroup, TestResult};

use crate::utils::test_utils::start_container;
use crate::utils::test_utils::{start_container, CreateOptions};
use crate::utils::{create_container, delete_container, generate_uuid, prepare_bundle, set_config};

const HOOK_OUTPUT_FILE: &str = "output";
Expand Down Expand Up @@ -71,7 +71,10 @@ fn get_test(test_name: &'static str) -> Test {
let id_str = id.to_string();
let bundle = prepare_bundle().unwrap();
set_config(&bundle, &spec).unwrap();
create_container(&id_str, &bundle).unwrap().wait().unwrap();
create_container(&id_str, &bundle, &CreateOptions::default())
.unwrap()
.wait()
.unwrap();
start_container(&id_str, &bundle).unwrap().wait().unwrap();
delete_container(&id_str, &bundle).unwrap().wait().unwrap();
let log = {
Expand Down
5 changes: 3 additions & 2 deletions tests/contest/contest/src/tests/hostname/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ use oci_spec::runtime::{LinuxBuilder, ProcessBuilder, Spec, SpecBuilder};
use test_framework::{Test, TestGroup, TestResult};

use crate::utils::test_inside_container;
use crate::utils::test_utils::CreateOptions;

fn create_spec(hostname: &str) -> Spec {
SpecBuilder::default()
Expand All @@ -25,7 +26,7 @@ fn create_spec(hostname: &str) -> Spec {

fn hostname_test() -> TestResult {
let spec = create_spec("hostname-specific");
test_inside_container(spec, &|_| {
test_inside_container(spec, &CreateOptions::default(), &|_| {
// As long as the container is created, we expect the hostname to be determined
// by the spec, so nothing to prepare prior.
Ok(())
Expand All @@ -34,7 +35,7 @@ fn hostname_test() -> TestResult {

fn empty_hostname() -> TestResult {
let spec = create_spec("");
test_inside_container(spec, &|_| {
test_inside_container(spec, &CreateOptions::default(), &|_| {
// As long as the container is created, we expect the hostname to be determined
// by the spec, so nothing to prepare prior.
Ok(())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ use oci_spec::runtime::{
};
use test_framework::{test_result, ConditionalTest, TestGroup, TestResult};

use crate::utils::test_utils::CreateOptions;
use crate::utils::{is_runtime_runc, test_inside_container};

fn create_spec(
Expand Down Expand Up @@ -38,7 +39,7 @@ fn io_priority_class_rt_test() -> TestResult {
"io_priority_class_rt",
1,
));
test_inside_container(spec, &|_| Ok(()))
test_inside_container(spec, &CreateOptions::default(), &|_| Ok(()))
}

fn io_priority_class_be_test() -> TestResult {
Expand All @@ -47,7 +48,7 @@ fn io_priority_class_be_test() -> TestResult {
"io_priority_class_be",
2,
));
test_inside_container(spec, &|_| Ok(()))
test_inside_container(spec, &CreateOptions::default(), &|_| Ok(()))
}

fn io_priority_class_idle_test() -> TestResult {
Expand All @@ -56,7 +57,7 @@ fn io_priority_class_idle_test() -> TestResult {
"io_priority_class_idle",
3,
));
test_inside_container(spec, &|_| Ok(()))
test_inside_container(spec, &CreateOptions::default(), &|_| Ok(()))
}

pub fn get_io_priority_test() -> TestGroup {
Expand Down
33 changes: 17 additions & 16 deletions tests/contest/contest/src/tests/mounts_recursive/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ use oci_spec::runtime::{
use test_framework::{Test, TestGroup, TestResult};

use crate::utils::test_inside_container;
use crate::utils::test_utils::CreateOptions;

fn get_spec(added_mounts: Vec<Mount>, process_args: Vec<String>) -> Spec {
let mut mounts = get_default_mounts();
Expand Down Expand Up @@ -112,7 +113,7 @@ fn check_recursive_readonly() -> TestResult {
vec!["runtimetest".to_string(), "mounts_recursive".to_string()],
);

let result = test_inside_container(spec, &|_| {
let result = test_inside_container(spec, &CreateOptions::default(), &|_| {
setup_mount(&rro_dir_path, &rro_subdir_path);
Ok(())
});
Expand Down Expand Up @@ -152,7 +153,7 @@ fn check_recursive_nosuid() -> TestResult {
],
);

let result = test_inside_container(spec, &|bundle_path| {
let result = test_inside_container(spec, &CreateOptions::default(), &|bundle_path| {
setup_mount(&rnosuid_dir_path, &rnosuid_subdir_path);

let executable_file_path = bundle_path.join("bin").join(executable_file_name);
Expand Down Expand Up @@ -225,7 +226,7 @@ fn check_recursive_rsuid() -> TestResult {
vec![mount_spec],
vec!["runtimetest".to_string(), "mounts_recursive".to_string()],
);
test_inside_container(spec, &|_| {
test_inside_container(spec, &CreateOptions::default(), &|_| {
let original_file_path = rsuid_dir_path.join("file");
let file = File::create(original_file_path)?;
let mut permission = file.metadata()?.permissions();
Expand Down Expand Up @@ -256,7 +257,7 @@ fn check_recursive_noexec() -> TestResult {
vec!["runtimetest".to_string(), "mounts_recursive".to_string()],
);

let result = test_inside_container(spec, &|bundle_path| {
let result = test_inside_container(spec, &CreateOptions::default(), &|bundle_path| {
setup_mount(&rnoexec_dir_path, &rnoexec_subdir_path);

let executable_file_name = "echo";
Expand Down Expand Up @@ -297,7 +298,7 @@ fn check_recursive_rexec() -> TestResult {
vec!["runtimetest".to_string(), "mounts_recursive".to_string()],
);

let result = test_inside_container(spec, &|bundle_path| {
let result = test_inside_container(spec, &CreateOptions::default(), &|bundle_path| {
setup_mount(&rnoexec_dir_path, &rnoexec_subdir_path);

let executable_file_name = "echo";
Expand Down Expand Up @@ -338,7 +339,7 @@ fn check_recursive_rdiratime() -> TestResult {
vec!["runtimetest".to_string(), "mounts_recursive".to_string()],
);

let result = test_inside_container(spec, &|_| Ok(()));
let result = test_inside_container(spec, &CreateOptions::default(), &|_| Ok(()));

fs::remove_dir(rdiratime_base_dir).unwrap();
result
Expand All @@ -362,7 +363,7 @@ fn check_recursive_rnodiratime() -> TestResult {
vec!["runtimetest".to_string(), "mounts_recursive".to_string()],
);

let result = test_inside_container(spec, &|_| Ok(()));
let result = test_inside_container(spec, &CreateOptions::default(), &|_| Ok(()));
fs::remove_dir(rnodiratime_base_dir).unwrap();
result
}
Expand All @@ -383,7 +384,7 @@ fn check_recursive_rdev() -> TestResult {
vec!["runtimetest".to_string(), "mounts_recursive".to_string()],
);

test_inside_container(spec, &|_| Ok(()))
test_inside_container(spec, &CreateOptions::default(), &|_| Ok(()))
}

fn check_recursive_rnodev() -> TestResult {
Expand All @@ -402,7 +403,7 @@ fn check_recursive_rnodev() -> TestResult {
vec!["runtimetest".to_string(), "mounts_recursive".to_string()],
);

test_inside_container(spec, &|_| Ok(()))
test_inside_container(spec, &CreateOptions::default(), &|_| Ok(()))
}

fn check_recursive_readwrite() -> TestResult {
Expand All @@ -423,7 +424,7 @@ fn check_recursive_readwrite() -> TestResult {
vec!["runtimetest".to_string(), "mounts_recursive".to_string()],
);

let result = test_inside_container(spec, &|_| {
let result = test_inside_container(spec, &CreateOptions::default(), &|_| {
setup_mount(&rrw_dir_path, &rrw_subdir_path);
Ok(())
});
Expand Down Expand Up @@ -451,7 +452,7 @@ fn check_recursive_rrelatime() -> TestResult {
vec![mount_spec],
vec!["runtimetest".to_string(), "mounts_recursive".to_string()],
);
let result = test_inside_container(spec, &|_| Ok(()));
let result = test_inside_container(spec, &CreateOptions::default(), &|_| Ok(()));

fs::remove_dir_all(rrelatime_dir_path).unwrap();
result
Expand All @@ -475,7 +476,7 @@ fn check_recursive_rnorelatime() -> TestResult {
vec!["runtimetest".to_string(), "mounts_recursive".to_string()],
);

let result = test_inside_container(spec, &|_| Ok(()));
let result = test_inside_container(spec, &CreateOptions::default(), &|_| Ok(()));

fs::remove_dir_all(rnorelatime_dir_path).unwrap();
result
Expand All @@ -499,7 +500,7 @@ fn check_recursive_rnoatime() -> TestResult {
vec!["runtimetest".to_string(), "mounts_recursive".to_string()],
);

let result = test_inside_container(spec, &|_| Ok(()));
let result = test_inside_container(spec, &CreateOptions::default(), &|_| Ok(()));

fs::remove_dir_all(rnoatime_dir_path).unwrap();
result
Expand All @@ -522,7 +523,7 @@ fn check_recursive_rstrictatime() -> TestResult {
vec![mount_spec],
vec!["runtimetest".to_string(), "mounts_recursive".to_string()],
);
let result = test_inside_container(spec, &|_| Ok(()));
let result = test_inside_container(spec, &CreateOptions::default(), &|_| Ok(()));

fs::remove_dir_all(rstrictatime_dir_path).unwrap();
result
Expand All @@ -548,7 +549,7 @@ fn check_recursive_rnosymfollow() -> TestResult {
vec![mount_spec],
vec!["runtimetest".to_string(), "mounts_recursive".to_string()],
);
let result = test_inside_container(spec, &|_| {
let result = test_inside_container(spec, &CreateOptions::default(), &|_| {
let original_file_path = format!("{}/{}", rnosymfollow_dir_path.to_str().unwrap(), "file");
let file = File::create(&original_file_path)?;
let link_file_path = format!("{}/{}", rnosymfollow_dir_path.to_str().unwrap(), "link");
Expand Down Expand Up @@ -587,7 +588,7 @@ fn check_recursive_rsymfollow() -> TestResult {
vec![mount_spec],
vec!["runtimetest".to_string(), "mounts_recursive".to_string()],
);
let result = test_inside_container(spec, &|_| {
let result = test_inside_container(spec, &CreateOptions::default(), &|_| {
let original_file_path = format!("{}/{}", rsymfollow_dir_path.to_str().unwrap(), "file");
let file = File::create(&original_file_path)?;
let link_file_path = format!("{}/{}", rsymfollow_dir_path.to_str().unwrap(), "link");
Expand Down
8 changes: 6 additions & 2 deletions tests/contest/contest/src/tests/no_pivot/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ use anyhow::{Context, Result};
use oci_spec::runtime::{ProcessBuilder, Spec, SpecBuilder};
use test_framework::{test_result, Test, TestGroup, TestResult};

use crate::utils::test_utils::test_inside_container_with_no_pivot;
use crate::utils::test_utils::{test_inside_container, CreateOptions};

fn create_spec() -> Result<Spec> {
SpecBuilder::default()
Expand All @@ -17,7 +17,11 @@ fn create_spec() -> Result<Spec> {

fn no_pivot_test() -> TestResult {
let spec = test_result!(create_spec());
test_inside_container_with_no_pivot(spec, &|_| Ok(()))
test_inside_container(
spec,
&CreateOptions::default().with_no_pivot_root(),
&|_| Ok(()),
)
}

pub fn get_no_pivot_test() -> TestGroup {
Expand Down
3 changes: 2 additions & 1 deletion tests/contest/contest/src/tests/process/process_test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ use oci_spec::runtime::{ProcessBuilder, Spec, SpecBuilder};
use test_framework::{test_result, Test, TestGroup, TestResult};

use crate::utils::test_inside_container;
use crate::utils::test_utils::CreateOptions;

fn create_spec() -> Result<Spec> {
let mut process = ProcessBuilder::default()
Expand All @@ -28,7 +29,7 @@ fn create_spec() -> Result<Spec> {
fn process_test() -> TestResult {
let spec = test_result!(create_spec());

test_inside_container(spec, &|bundle| {
test_inside_container(spec, &CreateOptions::default(), &|bundle| {
match fs::create_dir(bundle.join("test")) {
Result::Ok(_) => { /*This is expected*/ }
Err(e) => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ use rand::Rng;
use test_framework::{test_result, Test, TestGroup, TestResult};

use crate::utils::test_inside_container;
use crate::utils::test_utils::CreateOptions;

fn generate_random_number() -> i32 {
let mut rng = rand::thread_rng();
Expand All @@ -30,7 +31,7 @@ fn create_spec() -> Result<Spec> {

fn process_oom_score_adj_test() -> TestResult {
let spec = test_result!(create_spec());
test_inside_container(spec, &|_| Ok(()))
test_inside_container(spec, &CreateOptions::default(), &|_| Ok(()))
}

pub fn get_process_oom_score_adj_test() -> TestGroup {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ use oci_spec::runtime::{
use test_framework::{test_result, Test, TestGroup, TestResult};

use crate::utils::test_inside_container;
use crate::utils::test_utils::CreateOptions;

const GIGABYTES: u64 = 1024 * 1024 * 1024;

Expand Down Expand Up @@ -54,7 +55,7 @@ fn create_spec() -> Result<Spec> {

fn process_rlimits_test() -> TestResult {
let spec = test_result!(create_spec());
test_inside_container(spec, &|_| Ok(()))
test_inside_container(spec, &CreateOptions::default(), &|_| Ok(()))
}

pub fn get_process_rlimits_test() -> TestGroup {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ use rand::Rng;
use test_framework::{test_result, Test, TestGroup, TestResult};

use crate::utils::test_inside_container;
use crate::utils::test_utils::CreateOptions;

// Generates a Vec<u32> with a random number of elements (between 5 and 15),
// where each element is a random u32 value between 0 and 65535.
Expand Down Expand Up @@ -43,7 +44,7 @@ fn create_spec() -> Result<Spec> {
}
fn process_user_test() -> TestResult {
let spec = test_result!(create_spec());
test_inside_container(spec, &|_| Ok(()))
test_inside_container(spec, &CreateOptions::default(), &|_| Ok(()))
}

pub fn get_process_user_test() -> TestGroup {
Expand Down
Loading