diff --git a/tests/spi25.c b/tests/spi25.c index 993257421..aa1eea012 100644 --- a/tests/spi25.c +++ b/tests/spi25.c @@ -168,3 +168,22 @@ void probe_spi_at25f_test_success(void **state) will_return(__wrap_spi_send_command, AT25F_RDID_INSIZE); assert_int_equal(0, probe_spi_at25f(&flashctx)); } + +/* spi95.c */ +void probe_spi_st95_test_success(void **state) +{ + (void) state; /* unused */ + + /* setup initial test state. */ + struct flashctx flashctx = { .chip = &mock_chip }; + expect_memory(__wrap_spi_send_command, flash, + &flashctx, sizeof(flashctx)); + + /* chip total size < 64K. */ + uint32_t rdid_outsize = ST_M95_RDID_2BA_OUTSIZE; // 16 bit address + + will_return(__wrap_spi_send_command, rdid_outsize); + will_return(__wrap_spi_send_command, ST_M95_RDID); + will_return(__wrap_spi_send_command, ST_M95_RDID_INSIZE); + assert_int_equal(0, probe_spi_st95(&flashctx)); +} diff --git a/tests/tests.c b/tests/tests.c index 02f043813..1a6b65fe2 100644 --- a/tests/tests.c +++ b/tests/tests.c @@ -47,6 +47,7 @@ int main(void) cmocka_unit_test(probe_spi_res2_test_success), cmocka_unit_test(probe_spi_res3_test_success), cmocka_unit_test(probe_spi_at25f_test_success), + cmocka_unit_test(probe_spi_st95_test_success), /* spi95.c */ }; ret |= cmocka_run_group_tests_name("spi25.c tests", spi25_tests, NULL, NULL); diff --git a/tests/tests.h b/tests/tests.h index 83cfdea72..107cb514a 100644 --- a/tests/tests.h +++ b/tests/tests.h @@ -23,5 +23,6 @@ void probe_spi_res1_test_success(void **state); void probe_spi_res2_test_success(void **state); void probe_spi_res3_test_success(void **state); void probe_spi_at25f_test_success(void **state); +void probe_spi_st95_test_success(void **state); /* spi95.c */ #endif /* TESTS_H */