mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-04-29 20:24:31 +00:00
kata-ctl: Have function to get cpu details to run on specific arch
This function relies on get_single_cpu function which has configured to compile on amd64 and s390x. Making the function get_generic_cpu_details to compile on these architectures until we resolve the compilation for functions defined in check.rs. This is a temporary solution until we cleanup check.rs to make it build on all architectures. Signed-off-by: Archana Shinde <archana.m.shinde@intel.com>
This commit is contained in:
parent
594b57d082
commit
64c11a66fd
@ -16,7 +16,9 @@ mod arch_specific {
|
||||
const CPUINFO_FEATURES_TAG: &str = "features";
|
||||
const CPU_FEATURES_REQ: &[&str] = &["sie"];
|
||||
|
||||
#[allow(dead_code)]
|
||||
pub const ARCH_CPU_VENDOR_FIELD: &str = check::GENERIC_CPU_VENDOR_FIELD;
|
||||
#[allow(dead_code)]
|
||||
pub const ARCH_CPU_MODEL_FIELD: &str = "machine";
|
||||
|
||||
// check cpu
|
||||
|
@ -26,6 +26,7 @@ const USER_AGT: &str = "kata";
|
||||
pub const GENERIC_CPU_VENDOR_FIELD: &str = "vendor_id";
|
||||
pub const GENERIC_CPU_MODEL_FIELD: &str = "model name";
|
||||
|
||||
#[allow(dead_code)]
|
||||
pub const PROC_CPUINFO: &str = "/proc/cpuinfo";
|
||||
|
||||
#[cfg(any(target_arch = "s390x", target_arch = "x86_64"))]
|
||||
|
@ -5,8 +5,11 @@
|
||||
|
||||
#![allow(dead_code)]
|
||||
|
||||
#[cfg(any(target_arch = "s390x", target_arch = "x86_64"))]
|
||||
use crate::arch::arch_specific;
|
||||
#[cfg(any(target_arch = "s390x", target_arch = "x86_64"))]
|
||||
use crate::check::get_single_cpu_info;
|
||||
|
||||
use anyhow::{anyhow, Context, Result};
|
||||
use std::fs;
|
||||
|
||||
@ -103,6 +106,7 @@ pub fn get_distro_details(os_release: &str, os_release_clr: &str) -> Result<(Str
|
||||
Ok((name, version))
|
||||
}
|
||||
|
||||
#[cfg(any(target_arch = "s390x", target_arch = "x86_64"))]
|
||||
pub fn get_generic_cpu_details(cpu_info_file: &str) -> Result<(String, String)> {
|
||||
let cpu_info = get_single_cpu_info(cpu_info_file, "\n\n")?;
|
||||
let lines = cpu_info.lines();
|
||||
@ -143,7 +147,6 @@ pub fn get_generic_cpu_details(cpu_info_file: &str) -> Result<(String, String)>
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
use crate::check::PROC_CPUINFO;
|
||||
use std::io::Write;
|
||||
use tempfile::tempdir;
|
||||
|
||||
@ -223,12 +226,14 @@ mod tests {
|
||||
assert!(res.is_ok());
|
||||
}
|
||||
|
||||
#[cfg(any(target_arch = "x86_64"))]
|
||||
#[test]
|
||||
fn get_generic_cpu_details_system() {
|
||||
let res = get_generic_cpu_details(PROC_CPUINFO);
|
||||
let res = get_generic_cpu_details(crate::check::PROC_CPUINFO);
|
||||
assert!(res.is_ok());
|
||||
}
|
||||
|
||||
#[cfg(any(target_arch = "s390x", target_arch = "x86_64"))]
|
||||
#[test]
|
||||
fn get_generic_cpu_details_valid_contents() {
|
||||
let dir = tempdir().unwrap();
|
||||
@ -250,12 +255,14 @@ mod tests {
|
||||
assert_eq!(res.as_ref().unwrap().1, expected_model_name);
|
||||
}
|
||||
|
||||
#[cfg(any(target_arch = "s390x", target_arch = "x86_64"))]
|
||||
#[test]
|
||||
fn get_generic_cpu_details_invalid_file() {
|
||||
let res = get_generic_cpu_details("/tmp/missing.txt");
|
||||
assert!(res.is_err());
|
||||
}
|
||||
|
||||
#[cfg(any(target_arch = "s390x", target_arch = "x86_64"))]
|
||||
#[test]
|
||||
fn get_generic_cpu_details_invalid_contents() {
|
||||
let dir = tempdir().unwrap();
|
||||
|
Loading…
Reference in New Issue
Block a user