Files
OpenCellular/common/test_util.c
Randall Spangler c6dfa7e03b Host commands don't set the response pointer
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
2013-08-02 13:05:56 -07:00

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);