kernel_args: enable and fix argv methods

This commit is contained in:
Felix Krull 2019-08-31 14:52:37 +02:00 committed by Colin Walters
parent 12d976d45d
commit 3bfb805288
2 changed files with 31 additions and 7 deletions

View File

@ -29,8 +29,8 @@ impl KernelArgs {
}
}
/*#[cfg(any(feature = "v2019_3", feature = "dox"))]
pub fn append_argv(&mut self, argv: &str) {
#[cfg(any(feature = "v2019_3", feature = "dox"))]
pub fn append_argv(&mut self, argv: &[&str]) {
unsafe {
ostree_sys::ostree_kernel_args_append_argv(
self.to_glib_none_mut().0,
@ -40,7 +40,7 @@ impl KernelArgs {
}
#[cfg(any(feature = "v2019_3", feature = "dox"))]
pub fn append_argv_filtered(&mut self, argv: &str, prefixes: &str) {
pub fn append_argv_filtered(&mut self, argv: &[&str], prefixes: &[&str]) {
unsafe {
ostree_sys::ostree_kernel_args_append_argv_filtered(
self.to_glib_none_mut().0,
@ -48,7 +48,7 @@ impl KernelArgs {
prefixes.to_glib_none().0,
);
}
}*/
}
#[cfg(any(feature = "v2019_3", feature = "dox"))]
pub fn append_proc_cmdline<P: IsA<gio::Cancellable>>(
@ -147,15 +147,15 @@ impl KernelArgs {
}
}
/*#[cfg(any(feature = "v2019_3", feature = "dox"))]
pub fn replace_argv(&mut self, argv: &str) {
#[cfg(any(feature = "v2019_3", feature = "dox"))]
pub fn replace_argv(&mut self, argv: &[&str]) {
unsafe {
ostree_sys::ostree_kernel_args_replace_argv(
self.to_glib_none_mut().0,
argv.to_glib_none().0,
);
}
}*/
}
#[cfg(any(feature = "v2019_3", feature = "dox"))]
pub fn replace_take(&mut self, arg: &str) {

View File

@ -37,3 +37,27 @@ fn should_convert_from_string() {
let args = KernelArgs::from(String::from("arg1 arg2 arg3=value"));
assert_eq!(args.to_strv(), vec!["arg1", "arg2", "arg3=value"]);
}
#[test]
fn should_append_argv() {
let mut args = KernelArgs::new();
args.append_argv(&["arg1", "arg2=value", "arg3", "arg4=value"]);
assert_eq!(args.to_string(), "arg1 arg2=value arg3 arg4=value");
}
#[test]
fn should_append_argv_filtered() {
let mut args = KernelArgs::new();
args.append_argv_filtered(
&["prefix.arg1", "arg2", "prefix.arg3", "arg4=value"],
&["prefix"],
);
assert_eq!(args.to_string(), "arg2 arg4=value");
}
#[test]
fn should_replace_argv() {
let mut args = KernelArgs::from_string("arg1=value1 arg2=value2 arg3");
args.replace_argv(&["arg1=value3", "arg3=value4", "arg4"]);
assert_eq!(args.to_string(), "arg1=value3 arg2=value2 arg3=value4 arg4");
}