From a950a54516248af60ce986fd29b917d160df80c0 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Mon, 22 Jun 2015 12:40:06 +0200 Subject: [PATCH] test: add NMTST_BUSY_WAIT() util (cherry picked from commit 4eb48d8c872fa2b484b1fcc998a1a639a3f2a560) --- include/nm-test-utils.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/include/nm-test-utils.h b/include/nm-test-utils.h index e76496d023..d829e6d52e 100644 --- a/include/nm-test-utils.h +++ b/include/nm-test-utils.h @@ -129,6 +129,18 @@ nmtst_assert_error (GError *error, } } +#define NMTST_BUSY_WAIT(max_wait_ms, condition, wait) \ + G_STMT_START { \ + gint64 _nmtst_end, _nmtst_max_wait_us = (max_wait_ms) * 1000L; \ + \ + _nmtst_end = g_get_monotonic_time () + _nmtst_max_wait_us; \ + while (!(condition)) { \ + { wait }; \ + if (g_get_monotonic_time () > _nmtst_end) \ + g_assert_not_reached (); \ + } \ + } G_STMT_END + inline static void _nmtst_assert_success (gboolean success, GError *error, const char *file, int line) {