UPSTREAM: tests/: Add flashrom.c unit tests
BUG=b:157280555
BRANCH=none
TEST=builds
Original-Change-Id: I2d9213f98c6c9639f2417466ba4895117e8d600a
Original-Signed-off-by: Edward O'Callaghan <quasisec@google.com>
Original-Reviewed-on: https://review.coreboot.org/c/flashrom/+/41646
Original-Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Original-Reviewed-by: Angel Pons <th3fanbus@gmail.com>
(cherry picked from commit 629b8f06ec59d2112539efe161f121ab22d99ec8)
Cq-Depend: chromium:2879373
Change-Id: Ifab3894d9d176227c8a4346d882777621bf4c936
Signed-off-by: Anastasia Klimchuk <aklm@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/flashrom/+/2879376
Reviewed-by: Sean Paul <seanpaul@chromium.org>
Reviewed-by: Edward O'Callaghan <quasisec@chromium.org>
Reviewed-by: Nikolai Artemiev <nartemiev@google.com>
Tested-by: Edward O'Callaghan <quasisec@chromium.org>
Commit-Queue: Edward O'Callaghan <quasisec@chromium.org>
diff --git a/tests/flashrom.c b/tests/flashrom.c
new file mode 100644
index 0000000..ad46dd8
--- /dev/null
+++ b/tests/flashrom.c
@@ -0,0 +1,36 @@
+#include <include/test.h>
+
+#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 76088c2..1e7ef4a 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -2,6 +2,7 @@
srcs = [
'tests.c',
+ 'flashrom.c',
'spi25.c',
]
diff --git a/tests/tests.c b/tests/tests.c
index 82563ac..247c811 100644
--- a/tests/tests.c
+++ b/tests/tests.c
@@ -21,6 +21,11 @@
{
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 6eafeea..3b91f65 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);