summaryrefslogtreecommitdiff
path: root/zephyr/test/drivers/src/integration/usbc/usb_5v_3a_pd_sink.c
diff options
context:
space:
mode:
Diffstat (limited to 'zephyr/test/drivers/src/integration/usbc/usb_5v_3a_pd_sink.c')
-rw-r--r--zephyr/test/drivers/src/integration/usbc/usb_5v_3a_pd_sink.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/zephyr/test/drivers/src/integration/usbc/usb_5v_3a_pd_sink.c b/zephyr/test/drivers/src/integration/usbc/usb_5v_3a_pd_sink.c
index 3f6925be25..e0b27a1b6f 100644
--- a/zephyr/test/drivers/src/integration/usbc/usb_5v_3a_pd_sink.c
+++ b/zephyr/test/drivers/src/integration/usbc/usb_5v_3a_pd_sink.c
@@ -14,6 +14,7 @@
#include "test/drivers/test_state.h"
#include "test/drivers/utils.h"
#include "timer.h"
+#include "usb_common.h"
#include "usb_pd.h"
struct usb_attach_5v_3a_pd_sink_fixture {
@@ -289,3 +290,26 @@ ZTEST_F(usb_attach_5v_3a_pd_sink, verify_ping_msg)
zassert_true(this->sink_5v_3a.data.ping_received, NULL);
}
+
+/**
+ * @brief TestPurpose: Verify Alert message.
+ *
+ * @details
+ * - Clear alert_received in emulated partner
+ * - Broadcast PD Alert
+ * - Check pd_broadcast_alert_msg can set the ADO and run pd_dpm_request
+ * - Check that emulated partner received a PD_DATA_ALERT message
+ *
+ * Expected Results
+ * - EC_SUCCESS returned from pd_broadcast_alert_msg
+ * - sink_5v_3a.data.alert_received is true
+ */
+ZTEST_F(usb_attach_5v_3a_pd_sink, verify_alert_msg)
+{
+ tcpci_snk_emul_clear_alert_received(&this->sink_5v_3a.data);
+ zassert_false(this->sink_5v_3a.data.alert_received, NULL);
+ zassert_equal(pd_broadcast_alert_msg(ADO_OTP_EVENT), EC_SUCCESS, NULL);
+
+ k_sleep(K_SECONDS(2));
+ zassert_true(this->sink_5v_3a.data.alert_received, NULL);
+}