mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-12-30 18:41:11 +00:00
Remove support for allowing host command handlers to set the response pointer. This is just one more thing that can break (and did, on SPI protocol V2). No commands other than the trivial read-memory-map command in host_command.c and flash read made use of this capability, and the savings in performance was negligible. BUG=chrome-os-partner:21576 BRANCH=none TEST=boot pit; still boots Change-Id: I0a9bcf57dbea7155318fc389d7b47d3742a1a00a Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/64236
93 lines
1.6 KiB
C
93 lines
1.6 KiB
C
/* Copyright (c) 2013 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.
|
|
*
|
|
* Test utilities.
|
|
*/
|
|
|
|
#include <signal.h>
|
|
#include <stdlib.h>
|
|
|
|
#include "console.h"
|
|
#include "host_command.h"
|
|
#include "test_util.h"
|
|
#include "util.h"
|
|
|
|
int __test_error_count;
|
|
|
|
/* Weak reference function as an entry point for unit test */
|
|
test_mockable void run_test(void) { }
|
|
|
|
#ifdef TEST_COVERAGE
|
|
extern void __gcov_flush(void);
|
|
|
|
void test_end_hook(int sig)
|
|
{
|
|
__gcov_flush();
|
|
exit(0);
|
|
}
|
|
|
|
void register_test_end_hook(void)
|
|
{
|
|
signal(SIGTERM, test_end_hook);
|
|
}
|
|
#else
|
|
void register_test_end_hook(void)
|
|
{
|
|
}
|
|
#endif
|
|
|
|
void test_reset(void)
|
|
{
|
|
__test_error_count = 0;
|
|
}
|
|
|
|
void test_pass(void)
|
|
{
|
|
ccprintf("Pass!\n");
|
|
}
|
|
|
|
void test_fail(void)
|
|
{
|
|
ccprintf("Fail!\n");
|
|
}
|
|
|
|
void test_print_result(void)
|
|
{
|
|
if (__test_error_count)
|
|
ccprintf("Fail! (%d tests)\n", __test_error_count);
|
|
else
|
|
ccprintf("Pass!\n");
|
|
}
|
|
|
|
int test_get_error_count(void)
|
|
{
|
|
return __test_error_count;
|
|
}
|
|
|
|
#ifdef HAS_TASK_HOSTCMD
|
|
int test_send_host_command(int command, int version, const void *params,
|
|
int params_size, void *resp, int resp_size)
|
|
{
|
|
struct host_cmd_handler_args args;
|
|
|
|
args.version = version;
|
|
args.command = command;
|
|
args.params = params;
|
|
args.params_size = params_size;
|
|
args.response = resp;
|
|
args.response_max = resp_size;
|
|
args.response_size = 0;
|
|
|
|
return host_command_process(&args);
|
|
}
|
|
#endif /* TASK_HAS_HOSTCMD */
|
|
|
|
static int command_run_test(int argc, char **argv)
|
|
{
|
|
run_test();
|
|
return EC_SUCCESS;
|
|
}
|
|
DECLARE_CONSOLE_COMMAND(runtest, command_run_test,
|
|
NULL, NULL, NULL);
|