From eb63685e19ae073e88d209cec0bda2ee42628e4d Mon Sep 17 00:00:00 2001 From: Anastasia Klimchuk Date: Mon, 20 Jun 2022 12:45:31 +1000 Subject: tests: Add dummyflasher unit tests for opaque programmer In commit a721181a08 dummyflasher became an opaque master too, and now registers prog bus by default. This patch upgrades a dummy unit test which uses all buses as programmer param, and adds a unit test which covers specific use case for opaque programmer. BUG=b:233816068 TEST=ninja test Change-Id: I61a5333b61ea84fb91c7f8310d52b64213c62f83 Signed-off-by: Anastasia Klimchuk Reviewed-on: https://review.coreboot.org/c/flashrom/+/65236 Tested-by: build bot (Jenkins) Reviewed-by: Felix Singer Reviewed-by: Joursoir Reviewed-by: Thomas Heijligen --- tests/lifecycle.c | 16 +++++++++++++++- tests/tests.c | 1 + tests/tests.h | 1 + 3 files changed, 17 insertions(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/lifecycle.c b/tests/lifecycle.c index 4e191edd..614e4bf1 100644 --- a/tests/lifecycle.c +++ b/tests/lifecycle.c @@ -95,7 +95,7 @@ void dummy_basic_lifecycle_test_success(void **state) .fallback_open_state = &dummy_fallback_open_state, }; - run_basic_lifecycle(state, &dummy_io, &programmer_dummy, "bus=parallel+lpc+fwh+spi"); + run_basic_lifecycle(state, &dummy_io, &programmer_dummy, "bus=parallel+lpc+fwh+spi+prog"); } void dummy_probe_lifecycle_test_success(void **state) @@ -111,9 +111,23 @@ void dummy_probe_lifecycle_test_success(void **state) run_probe_lifecycle(state, &dummy_io, &programmer_dummy, "bus=spi,emulate=W25Q128FV", "W25Q128.V"); } +void dummy_probe_variable_size_test_success(void **state) +{ + static struct io_mock_fallback_open_state dummy_fallback_open_state = { + .noc = 0, + .paths = { NULL }, + }; + const struct io_mock dummy_io = { + .fallback_open_state = &dummy_fallback_open_state, + }; + + run_probe_lifecycle(state, &dummy_io, &programmer_dummy, "size=8388608,emulate=VARIABLE_SIZE", "Opaque flash chip"); +} + #else SKIP_TEST(dummy_basic_lifecycle_test_success) SKIP_TEST(dummy_probe_lifecycle_test_success) + SKIP_TEST(dummy_probe_variable_size_test_success) #endif /* CONFIG_DUMMY */ #if CONFIG_NICREALTEK == 1 diff --git a/tests/tests.c b/tests/tests.c index ed833b73..c747488b 100644 --- a/tests/tests.c +++ b/tests/tests.c @@ -406,6 +406,7 @@ int main(void) const struct CMUnitTest lifecycle_tests[] = { cmocka_unit_test(dummy_basic_lifecycle_test_success), cmocka_unit_test(dummy_probe_lifecycle_test_success), + cmocka_unit_test(dummy_probe_variable_size_test_success), cmocka_unit_test(nicrealtek_basic_lifecycle_test_success), cmocka_unit_test(raiden_debug_basic_lifecycle_test_success), cmocka_unit_test(dediprog_basic_lifecycle_test_success), diff --git a/tests/tests.h b/tests/tests.h index 5ffc1456..aa5a0d1e 100644 --- a/tests/tests.h +++ b/tests/tests.h @@ -51,6 +51,7 @@ void run_probe_lifecycle(void **state, const struct io_mock *io, void dummy_basic_lifecycle_test_success(void **state); void dummy_probe_lifecycle_test_success(void **state); +void dummy_probe_variable_size_test_success(void **state); void nicrealtek_basic_lifecycle_test_success(void **state); void raiden_debug_basic_lifecycle_test_success(void **state); void dediprog_basic_lifecycle_test_success(void **state); -- cgit v1.2.3