From e9e0bebde3ef6c4e55ac3fe621f249946a4fb0d9 Mon Sep 17 00:00:00 2001 From: Vincent Penquerc'h Date: Mon, 16 Jan 2012 16:10:08 +0000 Subject: [PATCH] tests: fix autodetect test not testing correctly for state change success State change to PAUSED can be done async, so if this happens, we need to wait for the change to be done (or failed). --- tests/check/elements/autodetect.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tests/check/elements/autodetect.c b/tests/check/elements/autodetect.c index 0eb798b1e4..21f9bb50c2 100644 --- a/tests/check/elements/autodetect.c +++ b/tests/check/elements/autodetect.c @@ -62,6 +62,12 @@ GST_START_TEST (test_autovideosink_ghostpad_error_case) /* this should fail, there's no such format */ state_ret = gst_element_set_state (pipeline, GST_STATE_PAUSED); + if (state_ret == GST_STATE_CHANGE_ASYNC) { + /* make sure we wait for the actual success/failure to happen */ + GstState state; + state_ret = + gst_element_get_state (pipeline, &state, &state, GST_CLOCK_TIME_NONE); + } fail_unless (state_ret == GST_STATE_CHANGE_FAILURE, "pipeline _set_state() to PAUSED succeeded but should have failed");