MCPcopy Create free account
hub / github.com/bootc-dev/bootc / test_arch

Function test_arch

crates/lib/src/bootc_kargs.rs:277–315  ·  view source on GitHub ↗

Verify that kargs are only applied to supported architectures

()

Source from the content-addressed store, hash-verified

275 #[test]
276 /// Verify that kargs are only applied to supported architectures
277 fn test_arch() {
278 // no arch specified, kargs ensure that kargs are applied unconditionally
279 let sys_arch = "x86_64";
280 let file_content = r##"kargs = ["console=tty0", "nosmt"]"##.to_string();
281 let parsed_kargs = parse_kargs_toml(&file_content, sys_arch).unwrap().unwrap();
282 assert_cmdline_eq(&parsed_kargs, &["console=tty0", "nosmt"]);
283
284 let sys_arch = "aarch64";
285 let parsed_kargs = parse_kargs_toml(&file_content, sys_arch).unwrap().unwrap();
286 assert_cmdline_eq(&parsed_kargs, &["console=tty0", "nosmt"]);
287
288 // one arch matches and one doesn't, ensure that kargs are only applied for the matching arch
289 let sys_arch = "aarch64";
290 let file_content = r##"kargs = ["console=tty0", "nosmt"]
291match-architectures = ["x86_64"]
292"##
293 .to_string();
294 let parsed_kargs = parse_kargs_toml(&file_content, sys_arch).unwrap();
295 assert!(parsed_kargs.is_none());
296 let file_content = r##"kargs = ["console=tty0", "nosmt"]
297match-architectures = ["aarch64"]
298"##
299 .to_string();
300 let parsed_kargs = parse_kargs_toml(&file_content, sys_arch).unwrap().unwrap();
301 assert_cmdline_eq(&parsed_kargs, &["console=tty0", "nosmt"]);
302
303 // multiple arch specified, ensure that kargs are applied to both archs
304 let sys_arch = "x86_64";
305 let file_content = r##"kargs = ["console=tty0", "nosmt"]
306match-architectures = ["x86_64", "aarch64"]
307"##
308 .to_string();
309 let parsed_kargs = parse_kargs_toml(&file_content, sys_arch).unwrap().unwrap();
310 assert_cmdline_eq(&parsed_kargs, &["console=tty0", "nosmt"]);
311
312 let sys_arch = "aarch64";
313 let parsed_kargs = parse_kargs_toml(&file_content, sys_arch).unwrap().unwrap();
314 assert_cmdline_eq(&parsed_kargs, &["console=tty0", "nosmt"]);
315 }
316
317 #[test]
318 /// Verify some error cases

Callers

nothing calls this directly

Calls 2

parse_kargs_tomlFunction · 0.85
assert_cmdline_eqFunction · 0.85

Tested by

no test coverage detected