summaryrefslogtreecommitdiff
path: root/zephyr/test/drivers/common/include/test/drivers/utils.h
diff options
context:
space:
mode:
Diffstat (limited to 'zephyr/test/drivers/common/include/test/drivers/utils.h')
-rw-r--r--zephyr/test/drivers/common/include/test/drivers/utils.h76
1 files changed, 40 insertions, 36 deletions
diff --git a/zephyr/test/drivers/common/include/test/drivers/utils.h b/zephyr/test/drivers/common/include/test/drivers/utils.h
index 8a703108c3..7be7dd5400 100644
--- a/zephyr/test/drivers/common/include/test/drivers/utils.h
+++ b/zephyr/test/drivers/common/include/test/drivers/utils.h
@@ -6,20 +6,21 @@
#ifndef ZEPHYR_TEST_DRIVERS_INCLUDE_UTILS_H_
#define ZEPHYR_TEST_DRIVERS_INCLUDE_UTILS_H_
-#include <zephyr/drivers/emul.h>
-#include <zephyr/drivers/gpio/gpio_emul.h>
-#include <zephyr/ztest.h>
-#include <stddef.h>
-#include <string.h>
-
#include "charger.h"
-#include "lpc.h"
#include "emul/tcpc/emul_tcpci_partner_src.h"
#include "extpower.h"
#include "host_command.h"
+#include "lpc.h"
#include "power.h"
#include "usbc/utils.h"
+#include <stddef.h>
+#include <string.h>
+
+#include <zephyr/drivers/emul.h>
+#include <zephyr/drivers/gpio/gpio_emul.h>
+#include <zephyr/ztest.h>
+
/**
* @brief Helper macro for EMUL_GET_USBC_BINDING. If @p usbc_id has the same
* port number as @p port, then struct emul* for @p chip phandle is
@@ -71,21 +72,11 @@ void test_set_chipset_to_power_level(enum power_state new_state);
/** @brief Set chipset to G3 state. Call all necessary hooks. */
void test_set_chipset_to_g3(void);
-/*
- * TODO(b/217755888): Implement ztest assume API upstream
- */
-
-/**
- * @brief Assume that this function call won't be reached
- * @param msg Optional message to print if the assumption fails
- */
-#define zassume_unreachable(msg, ...) zassert_unreachable(msg, ##__VA_ARGS__)
-
/**
* Run an ACPI read to the specified address.
*
* This function assumes a successful ACPI read process and will make a
- * call to the zassume_* API. A failure here will skip the calling test.
+ * call to the zassert_* API. A failure here will fail the calling test.
*
* @param acpi_addr Address to query
* @return Byte read
@@ -96,7 +87,7 @@ uint8_t acpi_read(uint8_t acpi_addr);
* Run an ACPI write to the specified address.
*
* This function assumes a successful ACPI write process and will make a
- * call to the zassume_* API. A failure here will skip the calling test.
+ * call to the zassert_* API. A failure here will fail the calling test.
*
* @param acpi_addr Address to write
* @param write_byte Byte to write to address
@@ -107,7 +98,7 @@ void acpi_write(uint8_t acpi_addr, uint8_t write_byte);
* Run the host command to gather our EC feature flags.
*
* This function assumes a successful host command processing and will make a
- * call to the zassume_* API. A failure here will abort the calling test.
+ * call to the zassert_* API. A failure here will fail the calling test.
*
* @return The result of the host command
*/
@@ -117,7 +108,7 @@ static inline struct ec_response_get_features host_cmd_get_features(void)
struct host_cmd_handler_args args =
BUILD_HOST_COMMAND_RESPONSE(EC_CMD_GET_FEATURES, 0, response);
- zassume_ok(host_command_process(&args), "Failed to get features");
+ zassert_ok(host_command_process(&args), "Failed to get features");
return response;
}
@@ -125,7 +116,7 @@ static inline struct ec_response_get_features host_cmd_get_features(void)
* Run the host command to get the charge state for a given charger number.
*
* This function assumes a successful host command processing and will make a
- * call to the zassume_* API. A failure here will abort the calling test.
+ * call to the zassert_* API. A failure here will fail the calling test.
*
* @param chgnum The charger number to query.
* @return The result of the query.
@@ -140,7 +131,7 @@ static inline struct ec_response_charge_state host_cmd_charge_state(int chgnum)
struct host_cmd_handler_args args =
BUILD_HOST_COMMAND(EC_CMD_CHARGE_STATE, 0, response, params);
- zassume_ok(host_command_process(&args),
+ zassert_ok(host_command_process(&args),
"Failed to get charge state for chgnum %d", chgnum);
return response;
}
@@ -149,7 +140,7 @@ static inline struct ec_response_charge_state host_cmd_charge_state(int chgnum)
* Run the host command to get the USB PD power info for a given port.
*
* This function assumes a successful host command processing and will make a
- * call to the zassume_* API. A failure here will abort the calling test.
+ * call to the zassert_* API. A failure here will fail the calling test.
*
* @param port The USB port to get info from.
* @return The result of the query.
@@ -161,7 +152,7 @@ static inline struct ec_response_usb_pd_power_info host_cmd_power_info(int port)
struct host_cmd_handler_args args = BUILD_HOST_COMMAND(
EC_CMD_USB_PD_POWER_INFO, 0, response, params);
- zassume_ok(host_command_process(&args),
+ zassert_ok(host_command_process(&args),
"Failed to get power info for port %d", port);
return response;
}
@@ -170,7 +161,7 @@ static inline struct ec_response_usb_pd_power_info host_cmd_power_info(int port)
* Run the host command to get the Type-C status information for a given port.
*
* This function assumes a successful host command processing and will make a
- * call to the zassume_* API. A failure here will abort the calling test.
+ * call to the zassert_* API. A failure here will fail the calling test.
*
* @param port The USB port to get info from.
* @return The result of the query.
@@ -182,7 +173,7 @@ static inline struct ec_response_typec_status host_cmd_typec_status(int port)
struct host_cmd_handler_args args =
BUILD_HOST_COMMAND(EC_CMD_TYPEC_STATUS, 0, response, params);
- zassume_ok(host_command_process(&args),
+ zassert_ok(host_command_process(&args),
"Failed to get Type-C state for port %d", port);
return response;
}
@@ -195,7 +186,7 @@ host_cmd_usb_pd_control(int port, enum usb_pd_control_swap swap)
struct host_cmd_handler_args args =
BUILD_HOST_COMMAND(EC_CMD_USB_PD_CONTROL, 0, response, params);
- zassume_ok(host_command_process(&args),
+ zassert_ok(host_command_process(&args),
"Failed to process usb_pd_control_swap for port %d, swap %d",
port, swap);
return response;
@@ -205,7 +196,7 @@ host_cmd_usb_pd_control(int port, enum usb_pd_control_swap swap)
* Run the host command to suspend/resume PD ports
*
* This function assumes a successful host command processing and will make a
- * call to the zassume_* API. A failure here will skip the calling test.
+ * call to the zassert_* API. A failure here will fail the calling test.
*
* @param port The USB port to operate on
* @param cmd The sub-command to run
@@ -216,7 +207,7 @@ static inline void host_cmd_pd_control(int port, enum ec_pd_control_cmd cmd)
struct host_cmd_handler_args args =
BUILD_HOST_COMMAND_PARAMS(EC_CMD_PD_CONTROL, 0, params);
- zassume_ok(host_command_process(&args),
+ zassert_ok(host_command_process(&args),
"Failed to process pd_control for port %d, cmd %d", port,
cmd);
}
@@ -240,7 +231,7 @@ host_cmd_charge_control(enum ec_charge_control_mode mode,
struct host_cmd_handler_args args =
BUILD_HOST_COMMAND(EC_CMD_CHARGE_CONTROL, 2, response, params);
- zassume_ok(host_command_process(&args),
+ zassert_ok(host_command_process(&args),
"Failed to get charge control values");
return response;
@@ -260,7 +251,7 @@ enum ec_status host_cmd_host_event(enum ec_host_event_action action,
/**
* @brief Call the host command MOTION_SENSE with the dump sub-command
*
- * Note: this function uses the zassume_ API. It will skip the test if the host
+ * Note: this function uses the zassert_ API. It will fail the test if the host
* command fails.
*
* @param max_sensor_count The maximum number of sensor data objects to populate
@@ -549,6 +540,15 @@ void host_cmd_typec_control_clear_events(int port, uint32_t events);
*/
void host_cmd_typec_control_bist_share_mode(int port, int enable);
+/**
+ * Run the host command to control PD port behavior, with the sub-command of
+ * TYPEC_CONTROL_COMMAND_SEND_VDM_REQ
+ *
+ * @param port The USB-C port number
+ * @param vdm_req VDM request data
+ */
+void host_cmd_typec_control_vdm_req(int port, struct typec_vdm_req vdm_req);
+
struct host_events_ctx {
host_event_t lpc_host_events;
host_event_t lpc_host_event_mask[LPC_HOST_EVENT_COUNT];
@@ -580,7 +580,7 @@ void host_events_restore(struct host_events_ctx *host_events_ctx);
* If enabled, the device _should_ begin charging.
*
* This function assumes a successful gpio emulator call and will make a call
- * to the zassume_* API. A failure here will abort the calling test.
+ * to the zassert_* API. A failure here will fail the calling test.
*
* This function sleeps to wait for the GPIO interrupt to take place.
*
@@ -591,10 +591,14 @@ static inline void set_ac_enabled(bool enabled)
const struct device *acok_dev =
DEVICE_DT_GET(DT_GPIO_CTLR(GPIO_ACOK_OD_NODE, gpios));
- zassume_ok(gpio_emul_input_set(acok_dev, GPIO_ACOK_OD_PIN, enabled),
+ zassert_ok(gpio_emul_input_set(acok_dev, GPIO_ACOK_OD_PIN, enabled),
NULL);
- k_sleep(K_MSEC(CONFIG_EXTPOWER_DEBOUNCE_MS + 1));
- zassume_equal(enabled, extpower_is_present(), NULL);
+ /*
+ * b/253284635 - Sleep for a full second past the debounce time
+ * to ensure the power button debounce logic runs.
+ */
+ k_sleep(K_MSEC(CONFIG_EXTPOWER_DEBOUNCE_MS + 1000));
+ zassert_equal(enabled, extpower_is_present(), NULL);
}
/**