summaryrefslogtreecommitdiff
path: root/zephyr/test/drivers/default/src/console_cmd/pwr_avg.c
diff options
context:
space:
mode:
Diffstat (limited to 'zephyr/test/drivers/default/src/console_cmd/pwr_avg.c')
-rw-r--r--zephyr/test/drivers/default/src/console_cmd/pwr_avg.c47
1 files changed, 47 insertions, 0 deletions
diff --git a/zephyr/test/drivers/default/src/console_cmd/pwr_avg.c b/zephyr/test/drivers/default/src/console_cmd/pwr_avg.c
new file mode 100644
index 0000000000..b21755a465
--- /dev/null
+++ b/zephyr/test/drivers/default/src/console_cmd/pwr_avg.c
@@ -0,0 +1,47 @@
+/* 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 "battery.h"
+#include "console.h"
+#include "test/drivers/test_state.h"
+#include "test/drivers/utils.h"
+
+#include <stdio.h>
+
+#include <zephyr/shell/shell.h>
+#include <zephyr/shell/shell_dummy.h>
+#include <zephyr/ztest.h>
+
+ZTEST_SUITE(console_cmd_pwr_avg, drivers_predicate_post_main, NULL, NULL, NULL,
+ NULL);
+
+ZTEST_USER(console_cmd_pwr_avg, test_too_many_args)
+{
+ zassert_equal(EC_ERROR_PARAM_COUNT,
+ shell_execute_cmd(get_ec_shell(), "pwr_avg 5"));
+}
+
+ZTEST_USER(console_cmd_pwr_avg, test_printout)
+{
+ int mv = battery_get_avg_voltage();
+ int ma = battery_get_avg_current();
+ char expected_output[1024];
+ const char *buffer;
+ size_t buffer_size;
+
+ shell_backend_dummy_clear_output(get_ec_shell());
+ zassert_ok(shell_execute_cmd(get_ec_shell(), "pwr_avg"));
+
+ buffer = shell_backend_dummy_get_output(get_ec_shell(), &buffer_size);
+
+ sprintf(expected_output, "mv = %d", mv);
+ zassert_true(strstr(buffer, expected_output));
+
+ sprintf(expected_output, "ma = %d", ma);
+ zassert_true(strstr(buffer, expected_output));
+
+ sprintf(expected_output, "mw = %d", mv * ma / 1000);
+ zassert_true(strstr(buffer, expected_output));
+}