diff --git a/TESTS/mbed_drivers/ticker/main.cpp b/TESTS/mbed_drivers/ticker/main.cpp index d1cfd68c47..b9ae733bf2 100644 --- a/TESTS/mbed_drivers/ticker/main.cpp +++ b/TESTS/mbed_drivers/ticker/main.cpp @@ -93,12 +93,16 @@ void test_case_1x_ticker() { char _key[11] = { }; char _value[128] = { }; uint8_t results_size = 0; + int expected_key = 1; greentea_send_kv("timing_drift_check_start", 0); ticker1->attach_us(&ticker_callback_0, ONE_MILLI_SEC); // wait for 1st signal from host - greentea_parse_kv(_key, _value, sizeof(_key), sizeof(_value)); + do { + greentea_parse_kv(_key, _value, sizeof(_key), sizeof(_value)); + expected_key = strcmp(_key, "base_time"); + } while (expected_key); greentea_send_kv(_key, callback_trigger_count * ONE_MILLI_SEC); // wait for 2nd signal from host @@ -116,6 +120,7 @@ void test_case_2x_callbacks() { char _key[11] = { }; char _value[128] = { }; uint8_t results_size = 0; + int expected_key = 1; led1 = 0; led2 = 0; @@ -125,7 +130,10 @@ void test_case_2x_callbacks() { ticker1->attach_us(ticker_callback_1_switch_to_2, ONE_MILLI_SEC); // wait for 1st signal from host - greentea_parse_kv(_key, _value, sizeof(_key), sizeof(_value)); + do { + greentea_parse_kv(_key, _value, sizeof(_key), sizeof(_value)); + expected_key = strcmp(_key, "base_time"); + } while (expected_key); greentea_send_kv(_key, callback_trigger_count * ONE_MILLI_SEC); // wait for 2nd signal from host diff --git a/TESTS/mbed_drivers/timeout/main.cpp b/TESTS/mbed_drivers/timeout/main.cpp index 11583eac00..58de0fd6ec 100644 --- a/TESTS/mbed_drivers/timeout/main.cpp +++ b/TESTS/mbed_drivers/timeout/main.cpp @@ -52,13 +52,18 @@ void test_case_timeout() { char _key[11] = { }; char _value[128] = { }; + int expected_key = 1; uint8_t results_size = 0; greentea_send_kv("timing_drift_check_start", 0); timeout.attach_us(set_incremeant_count, ONE_MILLI_SEC); // wait for 1st signal from host - greentea_parse_kv(_key, _value, sizeof(_key), sizeof(_value)); + do { + greentea_parse_kv(_key, _value, sizeof(_key), sizeof(_value)); + expected_key = strcmp(_key, "base_time"); + } while (expected_key); + greentea_send_kv(_key, callback_trigger_count * ONE_MILLI_SEC); // wait for 2nd signal from host diff --git a/TESTS/mbedmicro-rtos-mbed/basic/main.cpp b/TESTS/mbedmicro-rtos-mbed/basic/main.cpp index 66b309f6c8..dc066c9093 100644 --- a/TESTS/mbedmicro-rtos-mbed/basic/main.cpp +++ b/TESTS/mbedmicro-rtos-mbed/basic/main.cpp @@ -56,11 +56,15 @@ void update_tick_thread() { void gt_comm_wait_thread() { char _key[11] = { }; char _value[128] = { }; + int expected_key = 1; greentea_send_kv("timing_drift_check_start", 0); // wait for 1st signal from host - greentea_parse_kv(_key, _value, sizeof(_key), sizeof(_value)); + do { + greentea_parse_kv(_key, _value, sizeof(_key), sizeof(_value)); + expected_key = strcmp(_key, "base_time"); + } while (expected_key); greentea_send_kv(_key, callback_trigger_count * ONE_MILLI_SEC); // wait for 2nd signal from host