1
0
mirror of https://review.coreboot.org/flashrom.git synced 2025-04-27 23:22:37 +02:00

flashrom_tester: Fix cargo check and clippy warnings

Change-Id: I50c5af61e06df1bb6956f347cb6806a7eca6ce0e
Signed-off-by: Evan Benn <evanbenn@chromium.org>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/67472
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Peter Marheine <pmarheine@chromium.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
This commit is contained in:
Evan Benn 2022-09-09 15:35:28 +10:00 committed by Angel Pons
parent 813c68ad9c
commit 1f65e9029b
8 changed files with 33 additions and 45 deletions

View File

@ -67,7 +67,7 @@ pub struct IOOpt<'a> {
pub region: Option<(&'a str, &'a str)>, // --image
}
#[derive(PartialEq, Debug)]
#[derive(PartialEq, Eq, Debug)]
pub struct FlashromCmd {
pub path: String,
pub fc: FlashChip,
@ -84,9 +84,9 @@ fn flashrom_extract_size(stdout: &str) -> Result<i64, FlashromError> {
.last()
.map(str::parse::<i64>)
{
None => return Err("Found no purely-numeric lines in flashrom output".into()),
None => Err("Found no purely-numeric lines in flashrom output".into()),
Some(Err(e)) => {
return Err(format!("Failed to parse flashrom size output as integer: {}", e).into())
Err(format!("Failed to parse flashrom size output as integer: {}", e).into())
}
Some(Ok(sz)) => Ok(sz),
}
@ -169,7 +169,7 @@ impl crate::Flashrom for FlashromCmd {
};
let (stdout, _) = self.dispatch(opts, "wp_list")?;
if stdout.len() == 0 {
if stdout.is_empty() {
return Err(
"wp_list isn't supported on platforms using the Linux kernel SPI driver wp_list"
.into(),
@ -208,7 +208,7 @@ impl crate::Flashrom for FlashromCmd {
let opts = FlashromOpt {
wp_opt: WPOpt {
range: range,
range,
enable: en,
disable: !en,
..Default::default()
@ -249,7 +249,7 @@ impl crate::Flashrom for FlashromCmd {
..Default::default()
};
let (stdout, _) = self.dispatch(opts, "read_region_into_file")?;
self.dispatch(opts, "read_region_into_file")?;
Ok(())
}
@ -405,11 +405,6 @@ pub fn dut_ctrl_toggle_wp(en: bool) -> Result<(Vec<u8>, Vec<u8>), FlashromError>
dut_ctrl(&args)
}
pub fn dut_ctrl_servo_type() -> Result<(Vec<u8>, Vec<u8>), FlashromError> {
let args = ["servo_type"];
dut_ctrl(&args)
}
fn dut_ctrl(args: &[&str]) -> Result<(Vec<u8>, Vec<u8>), FlashromError> {
let output = match Command::new("dut-control").args(args).output() {
Ok(x) => x,
@ -431,7 +426,7 @@ fn dut_ctrl(args: &[&str]) -> Result<(Vec<u8>, Vec<u8>), FlashromError> {
}
fn hex_range_string(s: i64, l: i64) -> String {
format!("{:#08X},{:#08X}", s, l).to_string()
format!("{:#08X},{:#08X}", s, l)
}
/// Get a flash vendor and name from the first matching line of flashrom output.

View File

@ -49,7 +49,7 @@ pub use libflashrom::{
FLASHROM_MSG_INFO, FLASHROM_MSG_SPEW, FLASHROM_MSG_WARN,
};
#[derive(Copy, Clone, PartialEq, Debug)]
#[derive(Copy, Clone, PartialEq, Eq, Debug)]
pub enum FlashChip {
EC,
HOST,
@ -59,23 +59,21 @@ pub enum FlashChip {
impl FlashChip {
pub fn from(s: &str) -> Result<FlashChip, &str> {
let r = match s {
match s {
"ec" => Ok(FlashChip::EC),
"host" => Ok(FlashChip::HOST),
"servo" => Ok(FlashChip::SERVO),
"dediprog" => Ok(FlashChip::DEDIPROG),
_ => Err("cannot convert str to enum"),
};
return r;
}
}
pub fn to(fc: FlashChip) -> &'static str {
let r = match fc {
match fc {
FlashChip::EC => "ec",
FlashChip::HOST => "host",
FlashChip::SERVO => "ft2231_spi:type=servo-v2",
FlashChip::DEDIPROG => "dediprog",
};
return r;
}
}
/// Return the programmer string and optional programmer options
@ -97,7 +95,7 @@ impl FlashChip {
}
}
#[derive(Debug, PartialEq)]
#[derive(Debug, PartialEq, Eq)]
pub struct FlashromError {
msg: String,
}

View File

@ -34,7 +34,6 @@
//
use std::ffi::OsStr;
use std::fmt::Debug;
use std::io::Result as IoResult;
use std::process::{Command, Stdio};

View File

@ -129,7 +129,7 @@ mod tests {
for record in records {
if logger.enabled(record.metadata()) {
logger.log(&record);
logger.log(record);
}
}
}

View File

@ -42,9 +42,7 @@ use rand::prelude::*;
pub fn gen_rand_testdata(path: &str, size: usize) -> std::io::Result<()> {
let mut buf = BufWriter::new(File::create(path)?);
let mut a: Vec<u8> = Vec::with_capacity(size);
// Pad out array to be filled in by Rng::fill().
a.resize(size, 0b0);
let mut a: Vec<u8> = vec![0; size];
thread_rng().fill(a.as_mut_slice());
buf.write_all(a.as_slice())?;

View File

@ -69,8 +69,8 @@ impl<'a> TestEnv<'a> {
pub fn create(chip_type: FlashChip, cmd: &'a dyn Flashrom) -> Result<Self, FlashromError> {
let rom_sz = cmd.get_size()?;
let out = TestEnv {
chip_type: chip_type,
cmd: cmd,
chip_type,
cmd,
layout: utils::get_layout_sizes(rom_sz)?,
wp: WriteProtectState::from_hardware(cmd, chip_type)?,
original_flash_contents: "/tmp/flashrom_tester_golden.bin".into(),
@ -462,7 +462,7 @@ impl<T: TestCase + ?Sized> TestCase for &T {
}
#[allow(dead_code)]
#[derive(Copy, Clone, PartialEq, Debug)]
#[derive(Copy, Clone, PartialEq, Eq, Debug)]
pub enum TestConclusion {
Pass,
Fail,
@ -514,7 +514,7 @@ where
results
}
#[derive(Debug, PartialEq, Clone, Copy)]
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
pub enum OutputFormat {
Pretty,
Json,

View File

@ -43,8 +43,8 @@ use std::fs::{self, File};
use std::io::{BufRead, Write};
use std::sync::atomic::AtomicBool;
const LAYOUT_FILE: &'static str = "/tmp/layout.file";
const ELOG_FILE: &'static str = "/tmp/elog.file";
const LAYOUT_FILE: &str = "/tmp/layout.file";
const ELOG_FILE: &str = "/tmp/elog.file";
/// Iterate over tests, yielding only those tests with names matching filter_names.
///
@ -79,6 +79,7 @@ fn filter_tests<'n, 't: 'n, T: TestCase>(
/// test_names is the case-insensitive names of tests to run; if None, then all
/// tests are run. Provided names that don't match any known test will be logged
/// as a warning.
#[allow(clippy::or_fun_call)] // This is used for to_string here and we don't care.
pub fn generic<'a, TN: Iterator<Item = &'a str>>(
cmd: &dyn Flashrom,
fc: FlashChip,
@ -132,11 +133,8 @@ pub fn generic<'a, TN: Iterator<Item = &'a str>>(
// Limit the tests to only those requested, unless none are requested
// in which case all tests are included.
let mut filter_names: Option<HashSet<String>> = if let Some(names) = test_names {
Some(names.map(|s| s.to_lowercase()).collect())
} else {
None
};
let mut filter_names: Option<HashSet<String>> =
test_names.map(|names| names.map(|s| s.to_lowercase()).collect());
let tests = filter_tests(tests, &mut filter_names);
let chip_name = cmd
@ -153,15 +151,15 @@ pub fn generic<'a, TN: Iterator<Item = &'a str>>(
warn!("No test matches filter name \"{}\"", leftover);
}
let os_rel = sys_info::os_release().unwrap_or("<Unknown OS>".to_string());
let os_release = sys_info::os_release().unwrap_or("<Unknown OS>".to_string());
let system_info = cros_sysinfo::system_info().unwrap_or("<Unknown System>".to_string());
let bios_info = cros_sysinfo::bios_info().unwrap_or("<Unknown BIOS>".to_string());
let meta_data = tester::ReportMetaData {
chip_name: chip_name,
os_release: os_rel,
system_info: system_info,
bios_info: bios_info,
chip_name,
os_release,
system_info,
bios_info,
};
tester::collate_all_test_runs(&results, meta_data, output_format);
Ok(())

View File

@ -143,14 +143,14 @@ pub fn get_hardware_wp() -> std::result::Result<bool, String> {
match wp_s_val {
Ok(v) => {
if v == 1 {
return Ok(true);
Ok(true)
} else if v == 0 {
return Ok(false);
Ok(false)
} else {
return Err("Unknown write protect value".into());
Err("Unknown write protect value".into())
}
}
Err(_) => return Err("Cannot parse write protect value".into()),
Err(_) => Err("Cannot parse write protect value".into()),
}
}