summaryrefslogtreecommitdiff
path: root/tests/vb2_host_flashrom_tests.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/vb2_host_flashrom_tests.c')
-rw-r--r--tests/vb2_host_flashrom_tests.c54
1 files changed, 36 insertions, 18 deletions
diff --git a/tests/vb2_host_flashrom_tests.c b/tests/vb2_host_flashrom_tests.c
index 8552d0ad..815657d4 100644
--- a/tests/vb2_host_flashrom_tests.c
+++ b/tests/vb2_host_flashrom_tests.c
@@ -145,10 +145,11 @@ int subprocess_run(const char *const argv[],
static void test_read_whole_chip(void)
{
- uint8_t *buf;
- uint32_t buf_sz;
+ struct firmware_image image = {
+ .programmer = "someprog",
+ };
- TEST_SUCC(flashrom_read("someprog", NULL, &buf, &buf_sz),
+ TEST_SUCC(flashrom_read(&image, NULL),
"Flashrom read succeeds");
TEST_STR_EQ(captured_programmer, "someprog",
"Using specified programmer");
@@ -158,19 +159,20 @@ static void test_read_whole_chip(void)
TEST_STR_EQ(captured_op_filename, MOCK_TMPFILE_NAME,
"Reading to correct file");
TEST_PTR_EQ(captured_region_param, NULL, "Not operating on a region");
- TEST_EQ(buf_sz, strlen(MOCK_ROM_CONTENTS), "Contents correct size");
- TEST_SUCC(memcmp(buf, MOCK_ROM_CONTENTS, buf_sz),
+ TEST_EQ(image.size, strlen(MOCK_ROM_CONTENTS), "Contents correct size");
+ TEST_SUCC(memcmp(image.data, MOCK_ROM_CONTENTS, image.size),
"Buffer has correct contents");
- free(buf);
+ free(image.data);
}
static void test_read_region(void)
{
- uint8_t *buf;
- uint32_t buf_sz;
+ struct firmware_image image = {
+ .programmer = "someprog",
+ };
- TEST_SUCC(flashrom_read("someprog", "SOME_REGION", &buf, &buf_sz),
+ TEST_SUCC(flashrom_read(&image, "SOME_REGION"),
"Flashrom read succeeds");
TEST_STR_EQ(captured_programmer, "someprog",
"Using specified programmer");
@@ -181,20 +183,21 @@ static void test_read_region(void)
"Not doing a read of the whole ROM");
TEST_STR_EQ(captured_region_param, "SOME_REGION:" MOCK_TMPFILE_NAME,
"Reading to correct file and from correct region");
- TEST_EQ(buf_sz, strlen(MOCK_ROM_CONTENTS), "Contents correct size");
- TEST_SUCC(memcmp(buf, MOCK_ROM_CONTENTS, buf_sz),
+ TEST_EQ(image.size, strlen(MOCK_ROM_CONTENTS), "Contents correct size");
+ TEST_SUCC(memcmp(image.data, MOCK_ROM_CONTENTS, image.size),
"Buffer has correct contents");
- free(buf);
+ free(image.data);
}
static void test_read_failure(void)
{
- uint8_t *buf;
- uint32_t buf_sz;
+ struct firmware_image image = {
+ .programmer = "someprog",
+ };
flashrom_mock_success = false;
- TEST_NEQ(flashrom_read("someprog", "SOME_REGION", &buf, &buf_sz),
+ TEST_NEQ(flashrom_read(&image, "SOME_REGION"),
VB2_SUCCESS, "Flashrom read fails");
flashrom_mock_success = true;
}
@@ -202,10 +205,15 @@ static void test_read_failure(void)
static void test_write_whole_chip(void)
{
uint8_t buf[sizeof(MOCK_ROM_CONTENTS) - 1];
+ struct firmware_image image = {
+ .programmer = "someprog",
+ .data = buf,
+ .size = sizeof(buf),
+ };
memcpy(buf, MOCK_ROM_CONTENTS, sizeof(buf));
- TEST_SUCC(flashrom_write("someprog", NULL, buf, sizeof(buf)),
+ TEST_SUCC(flashrom_write(&image, NULL),
"Flashrom write succeeds");
TEST_STR_EQ(captured_programmer, "someprog",
"Using specified programmer");
@@ -224,10 +232,15 @@ static void test_write_whole_chip(void)
static void test_write_region(void)
{
uint8_t buf[sizeof(MOCK_ROM_CONTENTS) - 1];
+ struct firmware_image image = {
+ .programmer = "someprog",
+ .data = buf,
+ .size = sizeof(buf),
+ };
memcpy(buf, MOCK_ROM_CONTENTS, sizeof(buf));
- TEST_SUCC(flashrom_write("someprog", "SOME_REGION", buf, sizeof(buf)),
+ TEST_SUCC(flashrom_write(&image, "SOME_REGION"),
"Flashrom write succeeds");
TEST_STR_EQ(captured_programmer, "someprog",
"Using specified programmer");
@@ -247,9 +260,14 @@ static void test_write_region(void)
static void test_write_failure(void)
{
uint8_t buf[20] = { 0 };
+ struct firmware_image image = {
+ .programmer = "someprog",
+ .data = buf,
+ .size = sizeof(buf),
+ };
flashrom_mock_success = false;
- TEST_NEQ(flashrom_write("someprog", "SOME_REGION", buf, sizeof(buf)),
+ TEST_NEQ(flashrom_write(&image, "SOME_REGION"),
VB2_SUCCESS, "Flashrom write fails");
flashrom_mock_success = true;
}