diff --git a/tests/flashrom.c b/tests/flashrom.c new file mode 100644 index 000000000..ad46dd8da --- /dev/null +++ b/tests/flashrom.c @@ -0,0 +1,36 @@ +#include + +#include "programmer.h" + +void flashbuses_to_text_test_success(void **state) +{ + (void) state; /* unused */ + + enum chipbustype bustype; + + bustype = BUS_NONSPI; + assert_string_equal(flashbuses_to_text(bustype), "Non-SPI"); + + bustype |= BUS_PARALLEL; + assert_string_not_equal(flashbuses_to_text(bustype), "Non-SPI, Parallel"); + + bustype = BUS_PARALLEL; + bustype |= BUS_LPC; + assert_string_equal(flashbuses_to_text(bustype), "Parallel, LPC"); + + bustype |= BUS_FWH; + //BUS_NONSPI = BUS_PARALLEL | BUS_LPC | BUS_FWH, + assert_string_equal(flashbuses_to_text(bustype), "Non-SPI"); + + bustype |= BUS_SPI; + assert_string_equal(flashbuses_to_text(bustype), "Parallel, LPC, FWH, SPI"); + + bustype |= BUS_PROG; + assert_string_equal( + flashbuses_to_text(bustype), + "Parallel, LPC, FWH, SPI, Programmer-specific" + ); + + bustype = BUS_NONE; + assert_string_equal(flashbuses_to_text(bustype), "None"); +} diff --git a/tests/meson.build b/tests/meson.build index 76088c275..1e7ef4a37 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -2,6 +2,7 @@ root_includes = include_directories('../subprojects') srcs = [ 'tests.c', + 'flashrom.c', 'spi25.c', ] diff --git a/tests/tests.c b/tests/tests.c index 82563acc7..247c81192 100644 --- a/tests/tests.c +++ b/tests/tests.c @@ -21,6 +21,11 @@ int main(void) { int ret = 0; + const struct CMUnitTest flashrom_tests[] = { + cmocka_unit_test(flashbuses_to_text_test_success), + }; + ret |= cmocka_run_group_tests_name("flashrom.c tests", flashrom_tests, NULL, NULL); + const struct CMUnitTest spi25_tests[] = { cmocka_unit_test(spi_write_enable_test_success), cmocka_unit_test(spi_write_disable_test_success), diff --git a/tests/tests.h b/tests/tests.h index 6eafeea39..3b91f65d6 100644 --- a/tests/tests.h +++ b/tests/tests.h @@ -1,6 +1,9 @@ #ifndef TESTS_H #define TESTS_H +/* flashrom.c */ +void flashbuses_to_text_test_success(void **state); + /* spi25.c */ void spi_write_enable_test_success(void **state); void spi_write_disable_test_success(void **state);