From dd42d7ba98a885d8c86f9ee8a1f96cfa50a27b00 Mon Sep 17 00:00:00 2001 From: Michael Smith Date: Fri, 2 Jun 2006 17:01:02 +0000 Subject: [PATCH] tests/check/: Don't busy-wait in tests; this was causing test timeouts very frequently when running under valgrind. Original commit message from CVS: * tests/check/elements/audioconvert.c: (set_channel_positions), (get_float_mc_caps), (get_int_mc_caps): * tests/check/elements/audioresample.c: * tests/check/elements/audiotestsrc.c: (GST_START_TEST): * tests/check/elements/videorate.c: * tests/check/elements/videotestsrc.c: (GST_START_TEST): * tests/check/elements/volume.c: * tests/check/elements/vorbisdec.c: * tests/check/pipelines/vorbisenc.c: (GST_START_TEST): Don't busy-wait in tests; this was causing test timeouts very frequently when running under valgrind. --- ChangeLog | 14 ++++++++++++++ tests/check/elements/audioconvert.c | 1 - tests/check/elements/audioresample.c | 1 - tests/check/elements/audiotestsrc.c | 6 ++++-- tests/check/elements/videorate.c | 1 - tests/check/elements/videotestsrc.c | 9 +++++++-- tests/check/elements/volume.c | 1 - tests/check/elements/vorbisdec.c | 2 -- tests/check/pipelines/vorbisenc.c | 2 ++ 9 files changed, 27 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2aaeb6580d..1502bb6067 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +2006-06-02 Michael Smith + + * tests/check/elements/audioconvert.c: (set_channel_positions), + (get_float_mc_caps), (get_int_mc_caps): + * tests/check/elements/audioresample.c: + * tests/check/elements/audiotestsrc.c: (GST_START_TEST): + * tests/check/elements/videorate.c: + * tests/check/elements/videotestsrc.c: (GST_START_TEST): + * tests/check/elements/volume.c: + * tests/check/elements/vorbisdec.c: + * tests/check/pipelines/vorbisenc.c: (GST_START_TEST): + Don't busy-wait in tests; this was causing test timeouts very + frequently when running under valgrind. + 2006-06-02 Thomas Vander Stichele * gst/tcp/README: diff --git a/tests/check/elements/audioconvert.c b/tests/check/elements/audioconvert.c index 0249a60c83..a8bd6983ff 100644 --- a/tests/check/elements/audioconvert.c +++ b/tests/check/elements/audioconvert.c @@ -25,7 +25,6 @@ #include #include -GList *buffers = NULL; gboolean have_eos = FALSE; /* For ease of programming we use globals to keep refs for our floating diff --git a/tests/check/elements/audioresample.c b/tests/check/elements/audioresample.c index 680ab7bec7..3d6a751398 100644 --- a/tests/check/elements/audioresample.c +++ b/tests/check/elements/audioresample.c @@ -24,7 +24,6 @@ #include -GList *buffers = NULL; gboolean have_eos = FALSE; /* For ease of programming we use globals to keep refs for our floating diff --git a/tests/check/elements/audiotestsrc.c b/tests/check/elements/audiotestsrc.c index c97ae0493a..364955537d 100644 --- a/tests/check/elements/audiotestsrc.c +++ b/tests/check/elements/audiotestsrc.c @@ -24,7 +24,6 @@ #include -GList *buffers = NULL; gboolean have_eos = FALSE; /* For ease of programming we use globals to keep refs for our floating @@ -96,7 +95,10 @@ GST_START_TEST (test_all_waves) GST_STATE_PLAYING) == GST_STATE_CHANGE_SUCCESS, "could not set to playing"); - while (g_list_length (buffers) < 10); + g_mutex_lock (check_mutex); + while (g_list_length (buffers) < 10) + g_cond_wait (check_cond, check_mutex); + g_mutex_unlock (check_mutex); gst_element_set_state (audiotestsrc, GST_STATE_READY); diff --git a/tests/check/elements/videorate.c b/tests/check/elements/videorate.c index 285f381270..632faea962 100644 --- a/tests/check/elements/videorate.c +++ b/tests/check/elements/videorate.c @@ -24,7 +24,6 @@ #include -GList *buffers = NULL; gboolean have_eos = FALSE; /* For ease of programming we use globals to keep refs for our floating diff --git a/tests/check/elements/videotestsrc.c b/tests/check/elements/videotestsrc.c index db528f5852..a38ce88c4b 100644 --- a/tests/check/elements/videotestsrc.c +++ b/tests/check/elements/videotestsrc.c @@ -24,7 +24,6 @@ #include -GList *buffers = NULL; gboolean have_eos = FALSE; /* For ease of programming we use globals to keep refs for our floating @@ -94,7 +93,13 @@ GST_START_TEST (test_all_patterns) GST_STATE_PLAYING) == GST_STATE_CHANGE_SUCCESS, "could not set to playing"); - while (g_list_length (buffers) < 10); + g_mutex_lock (check_mutex); + while (g_list_length (buffers) < 10) { + GST_DEBUG_OBJECT (videotestsrc, "Waiting for more buffers"); + g_cond_wait (check_cond, check_mutex); + } + g_mutex_unlock (check_mutex); + gst_element_set_state (videotestsrc, GST_STATE_READY); diff --git a/tests/check/elements/volume.c b/tests/check/elements/volume.c index a594bcdb62..fb63696ddd 100644 --- a/tests/check/elements/volume.c +++ b/tests/check/elements/volume.c @@ -25,7 +25,6 @@ #include #include -GList *buffers = NULL; gboolean have_eos = FALSE; /* For ease of programming we use globals to keep refs for our floating diff --git a/tests/check/elements/vorbisdec.c b/tests/check/elements/vorbisdec.c index d704d79e88..070248fc47 100644 --- a/tests/check/elements/vorbisdec.c +++ b/tests/check/elements/vorbisdec.c @@ -24,8 +24,6 @@ #include -GList *buffers = NULL; - /* For ease of programming we use globals to keep refs for our floating * src and sink pads we create; otherwise we always have to do get_pad, * get_peer, and then remove references in every test function */ diff --git a/tests/check/pipelines/vorbisenc.c b/tests/check/pipelines/vorbisenc.c index 866887f131..57cdd929bc 100644 --- a/tests/check/pipelines/vorbisenc.c +++ b/tests/check/pipelines/vorbisenc.c @@ -198,10 +198,12 @@ GST_START_TEST (test_granulepos_offset) /* header packets should have timestamp == NONE, granulepos 0 */ buffer = get_buffer (bin, pad); + GST_DEBUG ("Got buffer in test"); check_buffer_timestamp (buffer, GST_CLOCK_TIME_NONE); check_buffer_duration (buffer, GST_CLOCK_TIME_NONE); check_buffer_granulepos (buffer, 0); gst_buffer_unref (buffer); + GST_DEBUG ("Unreffed buffer in test"); buffer = get_buffer (bin, pad); check_buffer_timestamp (buffer, GST_CLOCK_TIME_NONE);