summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/dbus-daemon.c2
-rw-r--r--test/internals/refs.c2
-rw-r--r--test/relay.c2
-rw-r--r--test/test-utils-glib.c15
-rw-r--r--test/test-utils-glib.h2
5 files changed, 12 insertions, 11 deletions
diff --git a/test/dbus-daemon.c b/test/dbus-daemon.c
index f9d8f923..a783b593 100644
--- a/test/dbus-daemon.c
+++ b/test/dbus-daemon.c
@@ -159,7 +159,7 @@ setup (Fixture *f,
const Config *config = context;
/* Some tests are fairly slow, so make the test timeout per-test */
- test_timeout_reset ();
+ test_timeout_reset (1);
f->ctx = test_main_context_get ();
f->ge = NULL;
diff --git a/test/internals/refs.c b/test/internals/refs.c
index 3c6b438d..b6ad5fe0 100644
--- a/test/internals/refs.c
+++ b/test/internals/refs.c
@@ -202,7 +202,7 @@ setup (Fixture *f,
g_error ("OOM");
/* This can be fairly slow, so make the test timeout per-test */
- test_timeout_reset ();
+ test_timeout_reset (1);
f->n_threads = N_THREADS;
f->n_refs = N_REFS;
diff --git a/test/relay.c b/test/relay.c
index d7c453ab..00e7966a 100644
--- a/test/relay.c
+++ b/test/relay.c
@@ -122,7 +122,7 @@ static void
setup (Fixture *f,
gconstpointer data G_GNUC_UNUSED)
{
- test_timeout_reset ();
+ test_timeout_reset (1);
f->ctx = test_main_context_get ();
dbus_error_init (&f->e);
diff --git a/test/test-utils-glib.c b/test/test-utils-glib.c
index 2fc1573d..adbe21c0 100644
--- a/test/test-utils-glib.c
+++ b/test/test-utils-glib.c
@@ -488,7 +488,7 @@ wrap_abort (int signal)
#endif
static void
-set_timeout (void)
+set_timeout (guint factor)
{
static guint timeout = 0;
@@ -500,11 +500,11 @@ set_timeout (void)
if (timeout != 0)
g_source_remove (timeout);
- timeout = g_timeout_add_seconds (TIMEOUT, time_out, NULL);
+ timeout = g_timeout_add_seconds (TIMEOUT * factor, time_out, NULL);
#ifdef G_OS_UNIX
/* The GLib main loop might not be running (we don't use it in every
* test). Die with SIGALRM shortly after if necessary. */
- alarm (TIMEOUT + 10);
+ alarm ((TIMEOUT * factor) + 10);
/* Get a log message and a core dump from the SIGALRM. */
{
@@ -522,7 +522,7 @@ test_init (int *argcp, char ***argvp)
{
g_test_init (argcp, argvp, NULL);
g_test_bug_base ("https://bugs.freedesktop.org/show_bug.cgi?id=");
- set_timeout ();
+ set_timeout (1);
}
static void
@@ -536,12 +536,13 @@ report_and_destroy (gpointer p)
}
void
-test_timeout_reset (void)
+test_timeout_reset (guint factor)
{
GTimer *timer = g_timer_new ();
- g_test_message ("Resetting test timeout (reference: %p)", timer);
- set_timeout ();
+ g_test_message ("Resetting test timeout (reference: %p; factor: %u)",
+ timer, factor);
+ set_timeout (factor);
g_test_queue_destroy (report_and_destroy, timer);
}
diff --git a/test/test-utils-glib.h b/test/test-utils-glib.h
index f2f167ca..3952309c 100644
--- a/test/test-utils-glib.h
+++ b/test/test-utils-glib.h
@@ -89,6 +89,6 @@ void test_rmdir_must_exist (const gchar *path);
void test_rmdir_if_exists (const gchar *path);
void test_mkdir (const gchar *path, gint mode);
-void test_timeout_reset (void);
+void test_timeout_reset (guint factor);
#endif