diff --git a/tests/mediatek_i2c_spi.c b/tests/mediatek_i2c_spi.c new file mode 100644 index 000000000..caf698083 --- /dev/null +++ b/tests/mediatek_i2c_spi.c @@ -0,0 +1,36 @@ +/* + * This file is part of the flashrom project. + * + * Copyright 2022 Google LLC + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include "lifecycle.h" + +#if CONFIG_MEDIATEK_I2C_SPI == 1 + +void mediatek_i2c_spi_basic_lifecycle_test_success(void **state) +{ + struct io_mock_fallback_open_state mediatek_i2c_spi_fallback_open_state = { + .noc = 0, + .paths = { "/dev/i2c-254", NULL }, + .flags = { O_RDWR }, + }; + const struct io_mock mediatek_i2c_spi_io = { + .fallback_open_state = &mediatek_i2c_spi_fallback_open_state, + }; + + run_basic_lifecycle(state, &mediatek_i2c_spi_io, &programmer_mediatek_i2c_spi, "bus=254,allow_brick=yes"); +} + +#else + SKIP_TEST(mediatek_i2c_spi_basic_lifecycle_test_success) +#endif /* CONFIG_MEDIATEK_I2C_SPI */ diff --git a/tests/meson.build b/tests/meson.build index ee06b43f6..96ca5a689 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -26,6 +26,7 @@ srcs = [ 'linux_mtd.c', 'linux_spi.c', 'parade_lspcon.c', + 'mediatek_i2c_spi.c', 'realtek_mst_i2c_spi.c', 'layout.c', 'chip.c', diff --git a/tests/tests.c b/tests/tests.c index f6f3d010a..2a54aab38 100644 --- a/tests/tests.c +++ b/tests/tests.c @@ -416,6 +416,7 @@ int main(int argc, char *argv[]) cmocka_unit_test(linux_mtd_probe_lifecycle_test_success), cmocka_unit_test(linux_spi_probe_lifecycle_test_success), cmocka_unit_test(parade_lspcon_basic_lifecycle_test_success), + cmocka_unit_test(mediatek_i2c_spi_basic_lifecycle_test_success), cmocka_unit_test(realtek_mst_basic_lifecycle_test_success), }; ret |= cmocka_run_group_tests_name("lifecycle.c tests", lifecycle_tests, NULL, NULL); diff --git a/tests/tests.h b/tests/tests.h index c84179c3f..c279be90e 100644 --- a/tests/tests.h +++ b/tests/tests.h @@ -51,6 +51,7 @@ void dediprog_basic_lifecycle_test_success(void **state); void linux_mtd_probe_lifecycle_test_success(void **state); void linux_spi_probe_lifecycle_test_success(void **state); void parade_lspcon_basic_lifecycle_test_success(void **state); +void mediatek_i2c_spi_basic_lifecycle_test_success(void **state); void realtek_mst_basic_lifecycle_test_success(void **state); /* layout.c */