diff options
author | Tom Hughes <tomhughes@chromium.org> | 2022-09-21 14:08:36 -0700 |
---|---|---|
committer | Tom Hughes <tomhughes@chromium.org> | 2022-09-22 12:59:38 -0700 |
commit | c453fd704268ef72de871b0c5ac7a989de662334 (patch) | |
tree | fcf6ce5810f9ff9e3c8cce434812dd75492269ed /include/test_util.h | |
parent | 6c1587ca70f558b4f96b3f0b18ad8b027d3ba99d (diff) | |
parent | 28712dae9d7ed1e694f7622cc083afa71090d4d5 (diff) | |
download | chrome-ec-firmware-fpmcu-dartmonkey-release.tar.gz |
Merge remote-tracking branch cros/main into firmware-fpmcu-dartmonkey-releasefirmware-fpmcu-dartmonkey-release
Generated by: ./util/update_release_branch.py --board dartmonkey --relevant_paths_file
./util/fingerprint-relevant-paths.txt firmware-fpmcu-dartmonkey-release
Relevant changes:
git log --oneline 6c1587ca70..28712dae9d -- board/nocturne_fp
board/dartmonkey common/fpsensor docs/fingerprint driver/fingerprint
util/getversion.sh
ded9307b79 util/getversion.sh: Fix version when not in a git repo
956055e692 board: change Google USB vendor info
71b2ef709d Update license boilerplate text in source code files
33e11afda0 Revert "fpsensor: Build fpsensor source file with C++"
c8d0360723 fpsensor: Build fpsensor source file with C++
bc113abd53 fpsensor: Fix g++ compiler error
150a58a0dc fpsensor: Fix fp_set_sensor_mode return type
b33b5ce85b fpsensor: Remove nested designators for C++ compatibility
2e864b2539 tree-wide: const-ify argv for console commands
56d8b360f9 test: Add test for get ikm failure when seed not set
3a3d6c3690 test: Add test for fpsensor trivial key failure
233e6bbd08 fpsensor_crypto: Abstract calls to hmac_SHA256
0a041b285b docs/fingerprint: Typo correction
c03fab67e2 docs/fingerprint: Fix the path of fputils.py
0b5d4baf5a util/getversion.sh: Fix empty file list handling
6e128fe760 FPMCU dev board environment with Satlab
3eb29b6aa5 builtin: Move ssize_t to sys/types.h
345d62ebd1 docs/fingerprint: Update power numbers for latest dartmonkey release
c25ffdb316 common: Conditionally support printf %l and %i modifiers
9a3c514b45 test: Add a test to check if the debugger is connected
54e603413f Move standard library tests to their own file
43fa6b4bf8 docs/fingerprint: Update power numbers for latest bloonchipper release
25536f9a84 driver/fingerprint/fpc/bep/fpc_sensor_spi.c: Format with clang-format
4face99efd driver/fingerprint/fpc/libfp/fpc_sensor_pal.h: Format with clang-format
738de2b575 trng: Rename rand to trng_rand
14b8270edd docs/fingerprint: Update dragonclaw power numbers
0b268f93d1 driver/fingerprint/fpc/libfp/fpc_private.c: Format with clang-format
f80da163f2 driver/fingerprint/fpc/libfp/fpc_private.h: Format with clang-format
a0751778f4 board/nocturne_fp/ro_workarounds.c: Format with clang-format
5e9c85c9b1 driver/fingerprint/fpc/libfp/fpc_sensor_pal.c: Format with clang-format
c1f9dd3cf8 driver/fingerprint/fpc/libfp/fpc_bio_algorithm.h: Format with clang-format
eb1e1bed8d driver/fingerprint/fpc/libfp/fpc1145_private.h: Format with clang-format
6e7b611821 driver/fingerprint/fpc/bep/fpc_bio_algorithm.h: Format with clang-format
e0589cd5e2 driver/fingerprint/fpc/bep/fpc1035_private.h: Format with clang-format
58f0246dbe board/nocturne_fp/board_ro.c: Format with clang-format
7905e556a0 common/fpsensor/fpsensor_crypto.c: Format with clang-format
21289d170c driver/fingerprint/fpc/bep/fpc1025_private.h: Format with clang-format
98a20f937e common/fpsensor/fpsensor_state.c: Format with clang-format
a2d255d8af common/fpsensor/fpsensor.c: Format with clang-format
84e53a65da board/nocturne_fp/board.h: Format with clang-format
73055eeb3f driver/fingerprint/fpc/bep/fpc_private.c: Format with clang-format
0f7b5cb509 common/fpsensor/fpsensor_private.h: Format with clang-format
1ceade6e65 driver/fingerprint/fpc/bep/fpc_private.h: Format with clang-format
dca9d74321 Revert "trng: Rename rand to trng_rand"
a6b0b3554f trng: Rename rand to trng_rand
28d0b75b70 third_party/boringssl: Remove unused header
BRANCH=None
BUG=b:244387210 b:242720240 b:215613183 b:242720910 b:236386294
BUG=b:234181908 b:244781166 b:234781655 b:234143158 b:234181908
BUG=b:237344361 b:236025198 b:234181908 b:180945056 chromium:1098010
BUG=b:246424843 b:234181908 b:131913998
TEST=`make -j buildall`
TEST=./util/run_device_tests.py --board dartmonkey
Test "aes": PASSED
Test "cec": PASSED
Test "cortexm_fpu": PASSED
Test "crc": PASSED
Test "flash_physical": PASSED
Test "flash_write_protect": PASSED
Test "fpsensor_hw": PASSED
Test "fpsensor_spi_ro": PASSED
Test "fpsensor_spi_rw": PASSED
Test "fpsensor_uart_ro": PASSED
Test "fpsensor_uart_rw": PASSED
Test "mpu_ro": PASSED
Test "mpu_rw": PASSED
Test "mutex": PASSED
Test "pingpong": PASSED
Test "printf": PASSED
Test "queue": PASSED
Test "rollback_region0": PASSED
Test "rollback_region1": PASSED
Test "rollback_entropy": PASSED
Test "rtc": PASSED
Test "sha256": PASSED
Test "sha256_unrolled": PASSED
Test "static_if": PASSED
Test "stdlib": PASSED
Test "system_is_locked_wp_on": PASSED
Test "system_is_locked_wp_off": PASSED
Test "timer_dos": PASSED
Test "utils": PASSED
Test "utils_str": PASSED
Test "panic_data_dartmonkey_v2.0.2887": PASSED
Test "panic_data_nocturne_fp_v2.2.64": PASSED
Test "panic_data_nami_fp_v2.2.144": PASSED
Force-Relevant-Builds: all
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Change-Id: I2c312583a709fedae8fe11d92c22328c3b634bc7
Diffstat (limited to 'include/test_util.h')
-rw-r--r-- | include/test_util.h | 179 |
1 files changed, 92 insertions, 87 deletions
diff --git a/include/test_util.h b/include/test_util.h index 9dcb31297f..8a7f29643d 100644 --- a/include/test_util.h +++ b/include/test_util.h @@ -1,4 +1,4 @@ -/* Copyright 2013 The Chromium OS Authors. All rights reserved. +/* Copyright 2013 The ChromiumOS Authors * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ @@ -8,60 +8,66 @@ #ifndef __CROS_EC_TEST_UTIL_H #define __CROS_EC_TEST_UTIL_H +#include "compile_time_macros.h" + +#ifdef __cplusplus +extern "C" { +#endif + #include "common.h" #include "console.h" #include "stack_trace.h" #ifdef CONFIG_ZTEST -#include <ztest.h> +#include <zephyr/ztest.h> #include "ec_tasks.h" #endif /* CONFIG_ZTEST */ /* This allows tests to be easily commented out in run_test for debugging */ #define test_static static __attribute__((unused)) -#define RUN_TEST(n) \ - do { \ +#define RUN_TEST(n) \ + do { \ ccprintf("Running %s...\n", #n); \ - cflush(); \ - before_test(); \ - if (n() == EC_SUCCESS) { \ - ccputs("OK\n"); \ - } else { \ - ccputs("Fail\n"); \ - __test_error_count++; \ - } \ - after_test(); \ + cflush(); \ + before_test(); \ + if (n() == EC_SUCCESS) { \ + ccputs("OK\n"); \ + } else { \ + ccputs("Fail\n"); \ + __test_error_count++; \ + } \ + after_test(); \ } while (0) -#define TEST_ASSERT(n) \ - do { \ - if (!(n)) { \ - ccprintf("%s:%d: ASSERTION failed: %s\n", \ - __FILE__, __LINE__, #n); \ - task_dump_trace(); \ - return EC_ERROR_UNKNOWN; \ - } \ +#define TEST_ASSERT(n) \ + do { \ + if (!(n)) { \ + ccprintf("%s:%d: ASSERTION failed: %s\n", __FILE__, \ + __LINE__, #n); \ + task_dump_trace(); \ + return EC_ERROR_UNKNOWN; \ + } \ } while (0) #if defined(__cplusplus) && !defined(__auto_type) #define __auto_type auto #endif -#define TEST_OPERATOR(a, b, op, fmt) \ - do { \ - __auto_type _a = (a); \ - __auto_type _b = (b); \ - if (!(_a op _b)) { \ - ccprintf("%s:%d: ASSERTION failed: %s " #op " %s\n", \ - __FILE__, __LINE__, #a, #b); \ - ccprintf("\t\tEVAL: " fmt " " #op " " fmt "\n", \ - _a, _b); \ - task_dump_trace(); \ - return EC_ERROR_UNKNOWN; \ - } else { \ - ccprintf("Pass: %s " #op " %s\n", #a, #b); \ - } \ +#define TEST_OPERATOR(a, b, op, fmt) \ + do { \ + __auto_type _a = (a); \ + __auto_type _b = (b); \ + if (!(_a op _b)) { \ + ccprintf("%s:%d: ASSERTION failed: %s " #op " %s\n", \ + __FILE__, __LINE__, #a, #b); \ + ccprintf("\t\tEVAL: " fmt " " #op " " fmt "\n", _a, \ + _b); \ + task_dump_trace(); \ + return EC_ERROR_UNKNOWN; \ + } else { \ + ccprintf("Pass: %s " #op " %s\n", #a, #b); \ + } \ } while (0) #define TEST_EQ(a, b, fmt) TEST_OPERATOR(a, b, ==, fmt) @@ -70,8 +76,8 @@ #define TEST_LE(a, b, fmt) TEST_OPERATOR(a, b, <=, fmt) #define TEST_GT(a, b, fmt) TEST_OPERATOR(a, b, >, fmt) #define TEST_GE(a, b, fmt) TEST_OPERATOR(a, b, >=, fmt) -#define TEST_BITS_SET(a, bits) TEST_OPERATOR(a & (int)bits, (int)bits, ==, "%u") -#define TEST_BITS_CLEARED(a, bits) TEST_OPERATOR(a & (int)bits, 0, ==, "%u") +#define TEST_BITS_SET(a, bits) TEST_OPERATOR(a &(int)bits, (int)bits, ==, "%u") +#define TEST_BITS_CLEARED(a, bits) TEST_OPERATOR(a &(int)bits, 0, ==, "%u") #define TEST_NEAR(a, b, epsilon, fmt) \ TEST_OPERATOR(ABS((a) - (b)), epsilon, <, fmt) @@ -79,40 +85,32 @@ #define TEST_ASSERT_ABS_LESS(n, t) TEST_OPERATOR(__ABS(n), t, <, "%d") -#define TEST_ASSERT_ARRAY_EQ(s, d, n) \ - do { \ - int __i; \ - for (__i = 0; __i < n; ++__i) \ - if ((s)[__i] != (d)[__i]) { \ +#define TEST_ASSERT_ARRAY_EQ(s, d, n) \ + do { \ + int __i; \ + for (__i = 0; __i < n; ++__i) \ + if ((s)[__i] != (d)[__i]) { \ ccprintf("%s:%d: ASSERT_ARRAY_EQ failed at " \ - "index=%d: %d != %d\n", \ - __FILE__, __LINE__, \ - __i, (int)(s)[__i], (int)(d)[__i]); \ - task_dump_trace(); \ - return EC_ERROR_UNKNOWN; \ - } \ + "index=%d: %d != %d\n", \ + __FILE__, __LINE__, __i, \ + (int)(s)[__i], (int)(d)[__i]); \ + task_dump_trace(); \ + return EC_ERROR_UNKNOWN; \ + } \ } while (0) -#define TEST_ASSERT_MEMSET(d, c, n) \ - do { \ - int __i; \ - for (__i = 0; __i < n; ++__i) \ - if ((d)[__i] != (c)) { \ +#define TEST_ASSERT_MEMSET(d, c, n) \ + do { \ + int __i; \ + for (__i = 0; __i < n; ++__i) \ + if ((d)[__i] != (c)) { \ ccprintf("%s:%d: ASSERT_MEMSET failed at " \ - "index=%d: %d != %d\n", \ - __FILE__, __LINE__, \ - __i, (int)(d)[__i], (c)); \ - task_dump_trace(); \ - return EC_ERROR_UNKNOWN; \ - } \ - } while (0) - -#define TEST_CHECK(n) \ - do { \ - if (n) \ - return EC_SUCCESS; \ - else \ - return EC_ERROR_UNKNOWN; \ + "index=%d: %d != %d\n", \ + __FILE__, __LINE__, __i, \ + (int)(d)[__i], (c)); \ + task_dump_trace(); \ + return EC_ERROR_UNKNOWN; \ + } \ } while (0) /* Mutlistep test states */ @@ -147,7 +145,7 @@ void before_test(void); void after_test(void); /* Test entry point */ -void run_test(int argc, char **argv); +void run_test(int argc, const char **argv); /* Test entry point for fuzzing tests. */ int test_fuzz_one_input(const uint8_t *data, unsigned int size); @@ -195,8 +193,12 @@ void interrupt_generator_udelay(unsigned us); void wait_for_task_started(void); void wait_for_task_started_nosleep(void); #else -static inline void wait_for_task_started(void) { } -static inline void wait_for_task_started_nosleep(void) { } +static inline void wait_for_task_started(void) +{ +} +static inline void wait_for_task_started_nosleep(void) +{ +} #endif uint32_t prng(uint32_t seed); @@ -271,8 +273,8 @@ struct test_i2c_read_string_dev { struct test_i2c_xfer { /* I2C xfer handler */ int (*routine)(const int port, const uint16_t i2c_addr_flags, - const uint8_t *out, int out_size, - uint8_t *in, int in_size, int flags); + const uint8_t *out, int out_size, uint8_t *in, + int in_size, int flags); }; struct test_i2c_write_dev { @@ -290,11 +292,10 @@ struct test_i2c_write_dev { * * @param routine Function pointer, with the same prototype as i2c_xfer() */ -#define DECLARE_TEST_I2C_XFER(routine) \ - const struct test_i2c_xfer __no_sanitize_address \ - __test_i2c_xfer_##routine \ - __attribute__((section(".rodata.test_i2c.xfer"))) \ - = {routine} +#define DECLARE_TEST_I2C_XFER(routine) \ + const struct test_i2c_xfer __no_sanitize_address \ + __test_i2c_xfer_##routine __attribute__(( \ + section(".rodata.test_i2c.xfer"))) = { routine } /* * Detach an I2C device. Once detached, any read/write command regarding the @@ -377,14 +378,14 @@ int test_attach_i2c(const int port, const uint16_t addr_flags); #define TEST_MAIN() void test_main(void) #define TEST_SUITE(name) void name(void) #else -#define TEST_MAIN() \ - void test_main(void); \ - void run_test(int argc, char **argv) \ - { \ - test_reset(); \ - test_main(); \ - test_print_result(); \ - } \ +#define TEST_MAIN() \ + void test_main(void); \ + void run_test(int argc, const char **argv) \ + { \ + test_reset(); \ + test_main(); \ + test_print_result(); \ + } \ void test_main(void) #define TEST_SUITE(name) TEST_MAIN() #endif @@ -413,7 +414,7 @@ struct unit_test { */ #define ztest_unit_test_setup_teardown(fn, setup, teardown) \ { \ - #fn, fn, setup, teardown \ +#fn, fn, setup, teardown \ } /** @@ -477,7 +478,7 @@ void z_ztest_run_test_suite(const char *name, struct unit_test *suite); #define zassert_unreachable(msg, ...) TEST_ASSERT(0) #define zassert_true(cond, msg, ...) TEST_ASSERT(cond) #define zassert_false(cond, msg, ...) TEST_ASSERT(!(cond)) -#define zassert_ok(cond, msg, ...) TEST_ASSERT(cond) +#define zassert_ok(cond, msg, ...) TEST_ASSERT(!(cond)) #define zassert_is_null(ptr, msg, ...) TEST_ASSERT((ptr) == NULL) #define zassert_not_null(ptr, msg, ...) TEST_ASSERT((ptr) != NULL) #define zassert_equal(a, b, msg, ...) TEST_EQ((a), (b), "0x%x") @@ -489,4 +490,8 @@ void z_ztest_run_test_suite(const char *name, struct unit_test *suite); TEST_ASSERT_ARRAY_EQ(buf, exp, size) #endif /* CONFIG_ZEPHYR */ +#ifdef __cplusplus +} +#endif + #endif /* __CROS_EC_TEST_UTIL_H */ |