diff options
Diffstat (limited to 'test/fpsensor.c')
-rw-r--r-- | test/fpsensor.c | 120 |
1 files changed, 0 insertions, 120 deletions
diff --git a/test/fpsensor.c b/test/fpsensor.c deleted file mode 100644 index 1e7015882d..0000000000 --- a/test/fpsensor.c +++ /dev/null @@ -1,120 +0,0 @@ -/* Copyright 2019 The Chromium OS Authors. All rights reserved. - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include <stddef.h> -#include <stdbool.h> - -#include "ec_commands.h" -#include "mock/fpsensor_detect_mock.h" -#include "string.h" -#include "test_util.h" -#include "common/fpsensor/fpsensor_private.h" - -static const struct ec_response_get_protocol_info expected_info[] = { - [FP_TRANSPORT_TYPE_SPI] = { - .flags = 1, - .max_response_packet_size = 544, - .max_request_packet_size = 544, - .protocol_versions = 8, - }, - [FP_TRANSPORT_TYPE_UART] = { - .flags = 1, - .max_response_packet_size = 256, - .max_request_packet_size = 544, - .protocol_versions = 8, - } -}; - -test_static int test_validate_fp_buffer_offset_success(void) -{ - TEST_EQ(validate_fp_buffer_offset(1, 0, 1), EC_SUCCESS, "%d"); - return EC_SUCCESS; -} - -test_static int test_validate_fp_buffer_offset_failure_no_overflow(void) -{ - TEST_EQ(validate_fp_buffer_offset(1, 1, 1), EC_ERROR_INVAL, "%d"); - return EC_SUCCESS; -} - -test_static int test_validate_fp_buffer_offset_failure_overflow(void) -{ - TEST_EQ(validate_fp_buffer_offset(1, UINT32_MAX, 1), EC_ERROR_OVERFLOW, - "%d"); - return EC_SUCCESS; -} - -test_static int test_host_command_protocol_info( - enum fp_transport_type transport_type, - const struct ec_response_get_protocol_info *expected) -{ - struct ec_response_get_protocol_info info; - int rv; - - mock_ctrl_fpsensor_detect.get_fp_sensor_type_return = - FP_SENSOR_TYPE_FPC; - mock_ctrl_fpsensor_detect.get_fp_transport_type_return = transport_type; - - rv = test_send_host_command(EC_CMD_GET_PROTOCOL_INFO, 0, NULL, 0, &info, - sizeof(info)); - - TEST_EQ(rv, EC_RES_SUCCESS, "%d"); - - TEST_EQ(info.flags, expected->flags, "%d"); - TEST_EQ(info.max_request_packet_size, expected->max_request_packet_size, - "%d"); - TEST_EQ(info.max_response_packet_size, - expected->max_response_packet_size, "%d"); - TEST_EQ(info.protocol_versions, expected->protocol_versions, "%d"); - - return EC_SUCCESS; -} - -test_static int test_host_command_protocol_info_uart(void) -{ - return test_host_command_protocol_info( - FP_TRANSPORT_TYPE_UART, &expected_info[FP_TRANSPORT_TYPE_UART]); -} - -test_static int test_host_command_protocol_info_spi(void) -{ - return test_host_command_protocol_info( - FP_TRANSPORT_TYPE_SPI, &expected_info[FP_TRANSPORT_TYPE_SPI]); -} - -void run_test(int argc, char **argv) -{ - if (IS_ENABLED(HAS_TASK_FPSENSOR)) { - /* TODO(b/171924356): The "emulator" build only builds RO and - * the functions used in the tests are only in RW, so these - * tests are not run on the emulator. - */ - RUN_TEST(test_validate_fp_buffer_offset_success); - RUN_TEST(test_validate_fp_buffer_offset_failure_no_overflow); - RUN_TEST(test_validate_fp_buffer_offset_failure_overflow); - } - - /* The tests after this only work on device right now. */ - if (IS_ENABLED(EMU_BUILD)) { - test_print_result(); - return; - } - - if (argc < 2) { - ccprintf("usage: runtest [uart|spi]\n"); - test_fail(); - return; - } - - /* The transport type is cached in a static variable, so the tests - * cannot be run back to back (without reboot). - */ - if (strncmp(argv[1], "uart", 4) == 0 && IS_ENABLED(BOARD_BLOONCHIPPER)) - RUN_TEST(test_host_command_protocol_info_uart); - else if (strncmp(argv[1], "spi", 3) == 0) - RUN_TEST(test_host_command_protocol_info_spi); - - test_print_result(); -} |