diff options
Diffstat (limited to 'tests/flashrom.c')
-rw-r--r-- | tests/flashrom.c | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/tests/flashrom.c b/tests/flashrom.c new file mode 100644 index 00000000..cc888313 --- /dev/null +++ b/tests/flashrom.c @@ -0,0 +1,71 @@ +/* + * This file is part of the flashrom project. + * + * Copyright 2020 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 <include/test.h> +#include "tests.h" + +#include "programmer.h" + +#define assert_equal_and_free(text, expected) \ + do { \ + assert_string_equal(text, expected); \ + free(text); \ + } while (0) + +#define assert_not_equal_and_free(text, expected) \ + do { \ + assert_string_not_equal(text, expected); \ + free(text); \ + } while (0) + + +void flashbuses_to_text_test_success(void **state) +{ + (void) state; /* unused */ + + enum chipbustype bustype; + char *text; + + bustype = BUS_NONSPI; + text = flashbuses_to_text(bustype); + assert_equal_and_free(text, "Non-SPI"); + + bustype |= BUS_PARALLEL; + text = flashbuses_to_text(bustype); + assert_not_equal_and_free(text, "Non-SPI, Parallel"); + + bustype = BUS_PARALLEL; + bustype |= BUS_LPC; + text = flashbuses_to_text(bustype); + assert_equal_and_free(text, "Parallel, LPC"); + + bustype |= BUS_FWH; + //BUS_NONSPI = BUS_PARALLEL | BUS_LPC | BUS_FWH, + text = flashbuses_to_text(bustype); + assert_equal_and_free(text, "Non-SPI"); + + bustype |= BUS_SPI; + text = flashbuses_to_text(bustype); + assert_equal_and_free(text, "Parallel, LPC, FWH, SPI"); + + bustype |= BUS_PROG; + text = flashbuses_to_text(bustype); + assert_equal_and_free(text, + "Parallel, LPC, FWH, SPI, Programmer-specific"); + + bustype = BUS_NONE; + text = flashbuses_to_text(bustype); + assert_equal_and_free(text, "None"); +} |