From 07ffcb4269b96b4a020b59433a1701f3c85415da Mon Sep 17 00:00:00 2001 From: Filip Jagodzinski Date: Fri, 10 Aug 2018 15:30:46 +0200 Subject: [PATCH] Tests: USB: Fix USB reconnect tests for Win hosts --- TESTS/usb_device/serial/main.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/TESTS/usb_device/serial/main.cpp b/TESTS/usb_device/serial/main.cpp index 683501e58a..e0052e34d3 100644 --- a/TESTS/usb_device/serial/main.cpp +++ b/TESTS/usb_device/serial/main.cpp @@ -43,6 +43,10 @@ #define SERIAL_LOOPBACK_REPS 100 #define USB_RECONNECT_DELAY_MS 200 +// Additional delay necessary for Windows hosts +// to handle the reconnect operation correctly. +#define USB_DISCONNECT_DELAY_MS 1 + using utest::v1::Case; using utest::v1::Specification; using utest::v1::Harness; @@ -92,6 +96,7 @@ void test_cdc_usb_reconnect() TEST_ASSERT_TRUE(usb_cdc.configured()); TEST_ASSERT_TRUE(usb_cdc.ready()); + wait_ms(USB_DISCONNECT_DELAY_MS); // Disconnect the USB device. usb_cdc.disconnect(); TEST_ASSERT_FALSE(usb_cdc.configured()); @@ -116,6 +121,7 @@ void test_cdc_usb_reconnect() TEST_ASSERT_TRUE(usb_cdc.configured()); TEST_ASSERT_TRUE(usb_cdc.ready()); + wait_ms(USB_DISCONNECT_DELAY_MS); // Disconnect the USB device again. usb_cdc.disconnect(); TEST_ASSERT_FALSE(usb_cdc.configured()); @@ -345,6 +351,7 @@ void test_serial_usb_reconnect() TEST_ASSERT_EQUAL_INT(0, usb_serial.readable()); // Disconnect the USB device. + wait_ms(USB_DISCONNECT_DELAY_MS); usb_serial.disconnect(); TEST_ASSERT_FALSE(usb_serial.configured()); TEST_ASSERT_FALSE(usb_serial.connected()); @@ -374,6 +381,7 @@ void test_serial_usb_reconnect() TEST_ASSERT_EQUAL_INT(0, usb_serial.readable()); // Disconnect the USB device again. + wait_ms(USB_DISCONNECT_DELAY_MS); usb_serial.disconnect(); TEST_ASSERT_FALSE(usb_serial.configured()); TEST_ASSERT_FALSE(usb_serial.connected());