summaryrefslogtreecommitdiff
path: root/zephyr/test/drivers/default/src/console_cmd/accelinfo.c
diff options
context:
space:
mode:
Diffstat (limited to 'zephyr/test/drivers/default/src/console_cmd/accelinfo.c')
-rw-r--r--zephyr/test/drivers/default/src/console_cmd/accelinfo.c55
1 files changed, 55 insertions, 0 deletions
diff --git a/zephyr/test/drivers/default/src/console_cmd/accelinfo.c b/zephyr/test/drivers/default/src/console_cmd/accelinfo.c
new file mode 100644
index 0000000000..11638fcc70
--- /dev/null
+++ b/zephyr/test/drivers/default/src/console_cmd/accelinfo.c
@@ -0,0 +1,55 @@
+/* Copyright 2022 The ChromiumOS Authors
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <zephyr/shell/shell.h>
+#include <zephyr/ztest.h>
+
+#include "config.h"
+#include "console.h"
+#include "ec_commands.h"
+#include "test/drivers/test_state.h"
+#include "timer.h"
+
+static void console_cmd_accelinfo_after(void *fixture)
+{
+ ARG_UNUSED(fixture);
+ shell_execute_cmd(get_ec_shell(), "accelinfo off");
+}
+
+ZTEST_SUITE(console_cmd_accelinfo, drivers_predicate_post_main, NULL, NULL,
+ console_cmd_accelinfo_after, NULL);
+
+ZTEST_USER(console_cmd_accelinfo, test_too_many_args)
+{
+ int rv = shell_execute_cmd(get_ec_shell(), "accelinfo arg1 arg2");
+
+ zassert_equal(rv, EC_ERROR_PARAM_COUNT, "Expected %d, but got %d",
+ EC_ERROR_PARAM_COUNT, rv);
+}
+
+ZTEST_USER(console_cmd_accelinfo, test_print_once)
+{
+ zassert_ok(shell_execute_cmd(get_ec_shell(), "accelinfo"), NULL);
+}
+
+ZTEST_USER(console_cmd_accelinfo, test_invalid_arg)
+{
+ int rv = shell_execute_cmd(get_ec_shell(), "accelinfo bar");
+
+ zassert_equal(rv, EC_ERROR_PARAM1, "Expected %d, but got %d",
+ EC_ERROR_PARAM1, rv);
+}
+
+ZTEST_USER(console_cmd_accelinfo, test_enable_disable)
+{
+ /*
+ * There's no way to verify what is being printed to the console yet, so
+ * just assert that the command executed and returned 0.
+ */
+ zassert_ok(shell_execute_cmd(get_ec_shell(), "accelinfo on"), NULL);
+ k_msleep(CONFIG_MOTION_MIN_SENSE_WAIT_TIME * MSEC * 2);
+
+ zassert_ok(shell_execute_cmd(get_ec_shell(), "accelinfo off"), NULL);
+}