mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-23 08:46:40 +00:00
tests: use loop test for long-running videocrop check
This should avoid timeouts on slow machines. Fixes #597739.
This commit is contained in:
parent
f1a75adcbc
commit
c4a9ed774e
1 changed files with 43 additions and 41 deletions
|
@ -374,8 +374,6 @@ GST_START_TEST (test_crop_to_1x1)
|
|||
|
||||
GST_END_TEST;
|
||||
|
||||
|
||||
|
||||
GST_START_TEST (test_cropping)
|
||||
{
|
||||
GstVideoCropTestContext ctx;
|
||||
|
@ -399,54 +397,58 @@ GST_START_TEST (test_cropping)
|
|||
videocrop_test_cropping_init_context (&ctx);
|
||||
|
||||
caps_list = video_crop_get_test_caps (ctx.crop);
|
||||
node = g_list_nth (caps_list, __i__);
|
||||
|
||||
for (node = caps_list; node != NULL; node = node->next) {
|
||||
if (node != NULL) {
|
||||
GstStructure *s;
|
||||
GstCaps *caps, *in_caps;
|
||||
GstCaps *caps;
|
||||
|
||||
caps = gst_caps_copy (GST_CAPS (node->data));
|
||||
s = gst_caps_get_structure (caps, 0);
|
||||
fail_unless (s != NULL);
|
||||
|
||||
if (g_strcmp0 (gst_structure_get_name (s), "video/x-raw-gray") == 0) {
|
||||
/* videotestsrc does not support this format */
|
||||
continue;
|
||||
/* videotestsrc does not support this format, so ignore it */
|
||||
if (!g_str_equal (gst_structure_get_name (s), "video/x-raw-gray")) {
|
||||
GST_INFO ("testing format: %" GST_PTR_FORMAT, caps);
|
||||
|
||||
for (i = 0; i < G_N_ELEMENTS (sizes_to_try); ++i) {
|
||||
GstCaps *in_caps;
|
||||
|
||||
GST_INFO (" - %d x %d", sizes_to_try[i].width, sizes_to_try[i].height);
|
||||
|
||||
gst_structure_set (s, "width", G_TYPE_INT, sizes_to_try[i].width,
|
||||
"height", G_TYPE_INT, sizes_to_try[i].height, NULL);
|
||||
in_caps = gst_caps_copy (caps);
|
||||
|
||||
videocrop_test_cropping (&ctx, in_caps, 0, 0, 0, 0, NULL);
|
||||
videocrop_test_cropping (&ctx, in_caps, 1, 0, 0, 0, NULL);
|
||||
videocrop_test_cropping (&ctx, in_caps, 0, 1, 0, 0, NULL);
|
||||
videocrop_test_cropping (&ctx, in_caps, 0, 0, 1, 0, NULL);
|
||||
videocrop_test_cropping (&ctx, in_caps, 0, 0, 0, 1, NULL);
|
||||
videocrop_test_cropping (&ctx, in_caps, 63, 0, 0, 0, NULL);
|
||||
videocrop_test_cropping (&ctx, in_caps, 0, 63, 0, 0, NULL);
|
||||
videocrop_test_cropping (&ctx, in_caps, 0, 0, 63, 0, NULL);
|
||||
videocrop_test_cropping (&ctx, in_caps, 0, 0, 0, 63, NULL);
|
||||
videocrop_test_cropping (&ctx, in_caps, 63, 0, 0, 1, NULL);
|
||||
videocrop_test_cropping (&ctx, in_caps, 0, 63, 1, 0, NULL);
|
||||
videocrop_test_cropping (&ctx, in_caps, 0, 1, 63, 0, NULL);
|
||||
videocrop_test_cropping (&ctx, in_caps, 1, 0, 0, 63, NULL);
|
||||
videocrop_test_cropping (&ctx, in_caps, 0, 0, 0, 0, NULL);
|
||||
videocrop_test_cropping (&ctx, in_caps, 32, 0, 0, 128, NULL);
|
||||
videocrop_test_cropping (&ctx, in_caps, 0, 32, 128, 0, NULL);
|
||||
videocrop_test_cropping (&ctx, in_caps, 0, 128, 32, 0, NULL);
|
||||
videocrop_test_cropping (&ctx, in_caps, 128, 0, 0, 32, NULL);
|
||||
videocrop_test_cropping (&ctx, in_caps, 1, 1, 1, 1, NULL);
|
||||
videocrop_test_cropping (&ctx, in_caps, 63, 63, 63, 63, NULL);
|
||||
videocrop_test_cropping (&ctx, in_caps, 64, 64, 64, 64, NULL);
|
||||
|
||||
gst_caps_unref (in_caps);
|
||||
}
|
||||
}
|
||||
|
||||
GST_INFO ("testing format: %" GST_PTR_FORMAT, caps);
|
||||
|
||||
for (i = 0; i < G_N_ELEMENTS (sizes_to_try); ++i) {
|
||||
GST_INFO (" - %d x %d", sizes_to_try[i].width, sizes_to_try[i].height);
|
||||
|
||||
gst_structure_set (s, "width", G_TYPE_INT, sizes_to_try[i].width,
|
||||
"height", G_TYPE_INT, sizes_to_try[i].height, NULL);
|
||||
in_caps = gst_caps_copy (caps);
|
||||
|
||||
videocrop_test_cropping (&ctx, in_caps, 0, 0, 0, 0, NULL);
|
||||
videocrop_test_cropping (&ctx, in_caps, 1, 0, 0, 0, NULL);
|
||||
videocrop_test_cropping (&ctx, in_caps, 0, 1, 0, 0, NULL);
|
||||
videocrop_test_cropping (&ctx, in_caps, 0, 0, 1, 0, NULL);
|
||||
videocrop_test_cropping (&ctx, in_caps, 0, 0, 0, 1, NULL);
|
||||
videocrop_test_cropping (&ctx, in_caps, 63, 0, 0, 0, NULL);
|
||||
videocrop_test_cropping (&ctx, in_caps, 0, 63, 0, 0, NULL);
|
||||
videocrop_test_cropping (&ctx, in_caps, 0, 0, 63, 0, NULL);
|
||||
videocrop_test_cropping (&ctx, in_caps, 0, 0, 0, 63, NULL);
|
||||
videocrop_test_cropping (&ctx, in_caps, 63, 0, 0, 1, NULL);
|
||||
videocrop_test_cropping (&ctx, in_caps, 0, 63, 1, 0, NULL);
|
||||
videocrop_test_cropping (&ctx, in_caps, 0, 1, 63, 0, NULL);
|
||||
videocrop_test_cropping (&ctx, in_caps, 1, 0, 0, 63, NULL);
|
||||
videocrop_test_cropping (&ctx, in_caps, 0, 0, 0, 0, NULL);
|
||||
videocrop_test_cropping (&ctx, in_caps, 32, 0, 0, 128, NULL);
|
||||
videocrop_test_cropping (&ctx, in_caps, 0, 32, 128, 0, NULL);
|
||||
videocrop_test_cropping (&ctx, in_caps, 0, 128, 32, 0, NULL);
|
||||
videocrop_test_cropping (&ctx, in_caps, 128, 0, 0, 32, NULL);
|
||||
videocrop_test_cropping (&ctx, in_caps, 1, 1, 1, 1, NULL);
|
||||
videocrop_test_cropping (&ctx, in_caps, 63, 63, 63, 63, NULL);
|
||||
videocrop_test_cropping (&ctx, in_caps, 64, 64, 64, 64, NULL);
|
||||
|
||||
gst_caps_unref (in_caps);
|
||||
}
|
||||
gst_caps_unref (caps);
|
||||
} else {
|
||||
GST_INFO ("no caps #%d", __i__);
|
||||
}
|
||||
g_list_foreach (caps_list, (GFunc) gst_caps_unref, NULL);
|
||||
g_list_free (caps_list);
|
||||
|
@ -782,7 +784,7 @@ videocrop_suite (void)
|
|||
tcase_add_test (tc_chain, test_caps_transform);
|
||||
tcase_add_test (tc_chain, test_passthrough);
|
||||
tcase_add_test (tc_chain, test_unit_sizes);
|
||||
tcase_add_test (tc_chain, test_cropping);
|
||||
tcase_add_loop_test (tc_chain, test_cropping, 0, 25);
|
||||
|
||||
return s;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue