From fd9b69fb33dca66ac6cb0bde6c495ac3e7031aa8 Mon Sep 17 00:00:00 2001 From: Mark Nauwelaerts Date: Mon, 2 Apr 2012 17:03:00 +0200 Subject: [PATCH] tests: videoscale: fix passthrough unit test ... to really only test the indicated scaling method rather than all of them. --- tests/check/elements/videoscale.c | 75 ++++++++++++++++--------------- 1 file changed, 38 insertions(+), 37 deletions(-) diff --git a/tests/check/elements/videoscale.c b/tests/check/elements/videoscale.c index 6e58d89e6b..f4fb3c871a 100644 --- a/tests/check/elements/videoscale.c +++ b/tests/check/elements/videoscale.c @@ -224,44 +224,45 @@ test_passthrough (int method) while (*p) { GstCaps *caps = *p; - for (method = 0; method < 3; method++) { - /* skip formats that videoconvert can't handle */ - if (caps_is_supported (caps)) - continue; - - GST_DEBUG ("Running test for caps '%" GST_PTR_FORMAT "'" - " from %dx%u to %dx%d with method %d", caps, src_width, src_height, - dest_width, dest_height, method); - run_test (caps, src_width, src_height, - dest_width, dest_height, method, - G_CALLBACK (on_src_handoff_passthrough), &src_buffers, - G_CALLBACK (on_sink_handoff_passthrough), &sink_buffers); - - fail_unless (src_buffers && sink_buffers); - fail_unless_equals_int (g_list_length (src_buffers), - g_list_length (sink_buffers)); - - for (l1 = src_buffers, l2 = sink_buffers; l1 && l2; - l1 = l1->next, l2 = l2->next) { - GstBuffer *a = l1->data; - GstBuffer *b = l2->data; - GstMapInfo mapa, mapb; - - gst_buffer_map (a, &mapa, GST_MAP_READ); - gst_buffer_map (b, &mapb, GST_MAP_READ); - fail_unless_equals_int (mapa.size, mapb.size); - fail_unless (mapa.data == mapb.data); - gst_buffer_unmap (b, &mapb); - gst_buffer_unmap (a, &mapa); - - gst_buffer_unref (a); - gst_buffer_unref (b); - } - g_list_free (src_buffers); - src_buffers = NULL; - g_list_free (sink_buffers); - sink_buffers = NULL; + /* skip formats that videoconvert can't handle */ + if (caps_is_supported (caps)) { + goto next; } + + GST_DEBUG ("Running test for caps '%" GST_PTR_FORMAT "'" + " from %dx%u to %dx%d with method %d", caps, src_width, src_height, + dest_width, dest_height, method); + run_test (caps, src_width, src_height, + dest_width, dest_height, method, + G_CALLBACK (on_src_handoff_passthrough), &src_buffers, + G_CALLBACK (on_sink_handoff_passthrough), &sink_buffers); + + fail_unless (src_buffers && sink_buffers); + fail_unless_equals_int (g_list_length (src_buffers), + g_list_length (sink_buffers)); + + for (l1 = src_buffers, l2 = sink_buffers; l1 && l2; + l1 = l1->next, l2 = l2->next) { + GstBuffer *a = l1->data; + GstBuffer *b = l2->data; + GstMapInfo mapa, mapb; + + gst_buffer_map (a, &mapa, GST_MAP_READ); + gst_buffer_map (b, &mapb, GST_MAP_READ); + fail_unless_equals_int (mapa.size, mapb.size); + fail_unless (mapa.data == mapb.data); + gst_buffer_unmap (b, &mapb); + gst_buffer_unmap (a, &mapa); + + gst_buffer_unref (a); + gst_buffer_unref (b); + } + g_list_free (src_buffers); + src_buffers = NULL; + g_list_free (sink_buffers); + sink_buffers = NULL; + + next: gst_caps_unref (caps); p++; }