summaryrefslogtreecommitdiff
path: root/zephyr/test/drivers/src/espi.c
diff options
context:
space:
mode:
authorYuval Peress <peress@chromium.org>2021-07-15 10:17:20 -0600
committerCommit Bot <commit-bot@chromium.org>2021-08-31 18:33:19 +0000
commited87c0c1ade57ab6e8bd46a11a2f0484a503f1b8 (patch)
treefc57a496d2c73b9dc4f5a5727c0e7771aa9dbf2f /zephyr/test/drivers/src/espi.c
parent003ec08f8c67845ae8481d3fb4124555213b04c4 (diff)
downloadchrome-ec-ed87c0c1ade57ab6e8bd46a11a2f0484a503f1b8.tar.gz
zephyr: test: drivers: add eSPI test using host command
Verify that we can call host commands from driver tests by adding a test that calls the EC_CMD_GET_PROTOCOL_INFO host command. Add a few convenience functions to host_command.h when building with CONFIG_ZTEST enabled. Also, add eSPI emulator to support the test. Coverage: - lines 17.4% -> 17.8% - functions 21.4% -> 22.0% BRANCH=none BUG=b:189954415 TEST=zmake configure --test zephyr/test/drivers Signed-off-by: Yuval Peress <peress@chromium.org> Change-Id: Ib9e750eeab555ea629a560cbf3beed28e346c460 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3031842 Reviewed-by: Jeremy Bettis <jbettis@chromium.org>
Diffstat (limited to 'zephyr/test/drivers/src/espi.c')
-rw-r--r--zephyr/test/drivers/src/espi.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/zephyr/test/drivers/src/espi.c b/zephyr/test/drivers/src/espi.c
new file mode 100644
index 0000000000..c852f1b771
--- /dev/null
+++ b/zephyr/test/drivers/src/espi.c
@@ -0,0 +1,35 @@
+/* Copyright 2021 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 <zephyr.h>
+#include <ztest.h>
+
+#include "ec_commands.h"
+#include "host_command.h"
+
+static void test_host_command_get_protocol_info(void)
+{
+ struct ec_response_get_protocol_info response;
+ struct host_cmd_handler_args args =
+ BUILD_HOST_COMMAND(EC_CMD_GET_PROTOCOL_INFO, 0, response);
+
+ zassert_ok(host_command_process(&args), NULL);
+ zassert_ok(args.result, NULL);
+ zassert_equal(args.response_size, sizeof(response), NULL);
+ zassert_equal(response.protocol_versions, BIT(3), NULL);
+ zassert_equal(response.max_request_packet_size, EC_LPC_HOST_PACKET_SIZE,
+ NULL);
+ zassert_equal(response.max_response_packet_size,
+ EC_LPC_HOST_PACKET_SIZE, NULL);
+ zassert_equal(response.flags, 0, NULL);
+}
+
+void test_suite_espi(void)
+{
+ ztest_test_suite(espi,
+ ztest_user_unit_test(
+ test_host_command_get_protocol_info));
+ ztest_run_test_suite(espi);
+}