aboutsummaryrefslogtreecommitdiffstats
path: root/util/flashrom_tester/src
diff options
context:
space:
mode:
authorEvan Benn <evanbenn@chromium.org>2023-01-16 16:12:44 +1100
committerEdward O'Callaghan <quasisec@chromium.org>2023-02-06 00:33:11 +0000
commit72e62750c8734bcf2d99da2dc3b5dc1d0cb38b5a (patch)
tree59b62901955fd84ac670e65db5e4d669ca0a2c2c /util/flashrom_tester/src
parent69bbe7986c17111015034871da63f2ceea6ad45b (diff)
downloadflashrom-72e62750c8734bcf2d99da2dc3b5dc1d0cb38b5a.tar.gz
flashrom-72e62750c8734bcf2d99da2dc3b5dc1d0cb38b5a.tar.bz2
flashrom-72e62750c8734bcf2d99da2dc3b5dc1d0cb38b5a.zip
flashrom_tester: Rewrite IOOpts to support more operations
flashrom cli supports include regions for all of read write and verify, as well as omitting the read/write/verify file if an include region with file is specified. Use an enum to allow only one operation at a time. Unify the read and write region implementations. BUG=b:235916336 BRANCH=None TEST=None Change-Id: I1cb46bb1b26949fd9c19949c43708a8b652e00da Signed-off-by: Evan Benn <evanbenn@chromium.org> Reviewed-on: https://review.coreboot.org/c/flashrom/+/71973 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Peter Marheine <pmarheine@chromium.org> Reviewed-by: Edward O'Callaghan <quasisec@chromium.org>
Diffstat (limited to 'util/flashrom_tester/src')
-rw-r--r--util/flashrom_tester/src/tests.rs22
1 files changed, 10 insertions, 12 deletions
diff --git a/util/flashrom_tester/src/tests.rs b/util/flashrom_tester/src/tests.rs
index 13ba0501..847bfece 100644
--- a/util/flashrom_tester/src/tests.rs
+++ b/util/flashrom_tester/src/tests.rs
@@ -283,12 +283,11 @@ fn partial_lock_test(section: LayoutNames) -> impl Fn(&mut TestEnv) -> TestResul
env.wp.set_hw(true)?;
// Check that we cannot write to the protected region.
- let rws = flashrom::ROMWriteSpecifics {
- layout_file: Some(&env.layout_file),
- write_file: Some(env.random_data_file()),
- name_file: Some(wp_section_name),
- };
- if env.cmd.write_file_with_layout(&rws).is_ok() {
+ if env
+ .cmd
+ .write_from_file_region(env.random_data_file(), wp_section_name, &env.layout_file)
+ .is_ok()
+ {
return Err(
"Section should be locked, should not have been overwritable with random data"
.into(),
@@ -301,12 +300,11 @@ fn partial_lock_test(section: LayoutNames) -> impl Fn(&mut TestEnv) -> TestResul
// Check that we can write to the non protected region.
let (non_wp_section_name, _, _) =
utils::layout_section(env.layout(), section.get_non_overlapping_section());
- let rws = flashrom::ROMWriteSpecifics {
- layout_file: Some(&env.layout_file),
- write_file: Some(env.random_data_file()),
- name_file: Some(non_wp_section_name),
- };
- env.cmd.write_file_with_layout(&rws)?;
+ env.cmd.write_from_file_region(
+ env.random_data_file(),
+ non_wp_section_name,
+ &env.layout_file,
+ )?;
Ok(())
}